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

Panu Matilainen pmatilai at redhat.com
Tue Dec 1 15:32:39 CET 2015


On 12/01/2015 04:26 PM, Christian Ehrhardt wrote:
> 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
>

You can just disable CONFIG_RTE_SCHED_VECTOR instead. Also see 
http://dpdk.org/ml/archives/dev/2015-November/029067.html

	- Panu -


More information about the dev mailing list