[dpdk-dev] [PATCH] build: disable compiler AVX512F support
Yongseok Koh
yskoh at mellanox.com
Tue Oct 23 23:23:28 CEST 2018
This is a workaround to prevent a crash, which might be caused by
optimization of newer gcc (7.3.0) on Intel Skylake.
Bugzilla ID: 97
Cc: stable at dpdk.org
Signed-off-by: Yongseok Koh <yskoh at mellanox.com>
---
config/x86/meson.build | 5 +++++
mk/rte.cpuflags.mk | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/config/x86/meson.build b/config/x86/meson.build
index 33efb5e547..e10ba872ac 100644
--- a/config/x86/meson.build
+++ b/config/x86/meson.build
@@ -47,6 +47,11 @@ endif
if cc.get_define('__AVX512F__', args: march_opt) != ''
dpdk_conf.set('RTE_MACHINE_CPUFLAG_AVX512F', 1)
compile_time_cpuflags += ['RTE_CPUFLAG_AVX512F']
+else
+# disable compiler's AVX512F support as a workaround for Bug 97
+ if cc.has_argument('-mavx512f')
+ machine_args += '-mno-avx512f'
+ endif
endif
dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
index 43ed84155b..8fdb0cc2c3 100644
--- a/mk/rte.cpuflags.mk
+++ b/mk/rte.cpuflags.mk
@@ -68,6 +68,11 @@ endif
ifneq ($(filter $(AUTO_CPUFLAGS),__AVX512F__),)
ifeq ($(CONFIG_RTE_ENABLE_AVX512),y)
CPUFLAGS += AVX512F
+else
+# disable compiler's AVX512F support as a workaround for Bug 97
+ifeq ($(shell $(CC) --target-help | grep -q mavx512f && echo 1), 1)
+MACHINE_CFLAGS += -mno-avx512f
+endif
endif
endif
--
2.11.0
More information about the dev
mailing list