[dpdk-dev] [PATCH] mk: bump minimum march in default machine

Christian Ehrhardt christian.ehrhardt at canonical.com
Tue Dec 1 15:26:54 CET 2015


While playing with building 2.2-rc2 I found that our usual way didn't work
anymore.
We usually configured "make config T=x86_64-native-linuxapp-gcc" but then
set CONFIG_RTE_MACHINE="default" to get something like the "lowest acceptable
build" but with that wide CPU copatibility.

I found that with DPDK 2.2 this fails with issues like:
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37:0,
from dpdk-2.2.0-rc2/lib/librte_sched/rte_sched.c:56:
dpdk-2.2.0-rc2/lib/librte_sched/rte_sched.c: In function ‘grinder_pipe_exists’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:67:1: error: inlining
failed in call to always_inline ‘_mm_testz_si128’: target specific option
mismatch
 _mm_testz_si128 (__m128i __M, __m128i __V)
 ^
This is a hard need on newer SSE4.x features which are not given with
march=core2.

So if nehalem (the next march level which has SSE4.x) is the new minimum let us
set this in the default machine config.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
---

[diffstat]
 rte.vars.mk |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

[diff]
diff --git a/mk/machine/default/rte.vars.mk b/mk/machine/default/rte.vars.mk
index 53c6af6..170d880 100644
--- a/mk/machine/default/rte.vars.mk
+++ b/mk/machine/default/rte.vars.mk
@@ -55,4 +55,4 @@
 # CPU_LDFLAGS =
 # CPU_ASFLAGS =
 
-MACHINE_CFLAGS += -march=core2
+MACHINE_CFLAGS += -march=nehalem


More information about the dev mailing list