[v3] build: disable gcc AVX512F support

Message ID 20181103010623.42468-1-yskoh@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v3] build: disable gcc AVX512F support |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK

Commit Message

Yongseok Koh Nov. 3, 2018, 1:06 a.m. UTC
  This is a workaround to prevent a crash, which might be caused by
optimization of newer gcc (7.3.0) on Intel Skylake.

This disables AVX512F support of gcc by adding -mno-avx512f if it is
disabled in DPDK (CONFIG_RTE_ENABLE_AVX512=n).

This does not apply to the meson build as that doesn't have such an option
but always enable AVX512F whenever supported.

Bugzilla ID: 97

Cc: stable@dpdk.org

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---

v3:
* use AUTO_CPUFLAGS instead of redundant check for gcc
* remove the change from meson build

v2:
* disable the flag only in case of gcc

 mk/rte.cpuflags.mk | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Thomas Monjalon Nov. 4, 2018, 8:56 p.m. UTC | #1
03/11/2018 02:06, Yongseok Koh:
> This is a workaround to prevent a crash, which might be caused by
> optimization of newer gcc (7.3.0) on Intel Skylake.
> 
> This disables AVX512F support of gcc by adding -mno-avx512f if it is
> disabled in DPDK (CONFIG_RTE_ENABLE_AVX512=n).
> 
> This does not apply to the meson build as that doesn't have such an option
> but always enable AVX512F whenever supported.
> 
> Bugzilla ID: 97
> 
> Cc: stable@dpdk.org
> 
> Signed-off-by: Yongseok Koh <yskoh@mellanox.com>

Applied, thanks
  

Patch

diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
index 43ed84155b..c3291b17a1 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 AVX512F support of gcc as a workaround for Bug 97
+ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
+MACHINE_CFLAGS += -mno-avx512f
+endif
 endif
 endif