From 32f93dc5ed6bdaaf9b250ee6b89a07a556bf5877 Mon Sep 17 00:00:00 2001 From: Harry van Haaren Date: Thu, 15 Jul 2021 21:36:15 +0530 Subject: [PATCH] dpdk: Add additional CPU ISA detection strings This commit enables OVS to at runtime check for more detailed AVX512 capabilities, specifically Byte and Word (BW) extensions, and Vector Bit Manipulation Instructions (VBMI). These instructions will be used in the CPU ISA optimized implementations of traffic profile aware miniflow extract. Signed-off-by: Harry van Haaren Acked-by: Eelco Chaudron Acked-by: Flavio Leitner Signed-off-by: Ian Stokes --- NEWS | 1 + lib/dpdk.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 7bf09f8f1..2c8f5db66 100644 --- a/NEWS +++ b/NEWS @@ -43,6 +43,7 @@ Post-v2.15.0 traffic. * Add build time configure command to enable auto-validatior as default miniflow implementation at build time. + * Cache results for CPU ISA checks, reduces overhead on repeated lookups. - ovs-ctl: * New option '--no-record-hostname' to disable hostname configuration in ovsdb on startup. diff --git a/lib/dpdk.c b/lib/dpdk.c index 9de2af58e..1b8f8e55b 100644 --- a/lib/dpdk.c +++ b/lib/dpdk.c @@ -706,6 +706,8 @@ dpdk_get_cpu_has_isa(const char *arch, const char *feature) #if __x86_64__ /* CPU flags only defined for the architecture that support it. */ CHECK_CPU_FEATURE(feature, "avx512f", RTE_CPUFLAG_AVX512F); + CHECK_CPU_FEATURE(feature, "avx512bw", RTE_CPUFLAG_AVX512BW); + CHECK_CPU_FEATURE(feature, "avx512vbmi", RTE_CPUFLAG_AVX512VBMI); CHECK_CPU_FEATURE(feature, "avx512vpopcntdq", RTE_CPUFLAG_AVX512VPOPCNTDQ); CHECK_CPU_FEATURE(feature, "bmi2", RTE_CPUFLAG_BMI2); #endif