[dpdk-dev] rte_memcpy.h: additional cflags required with OVS

Mcnamara, John john.mcnamara at intel.com
Mon Mar 9 18:51:23 CET 2015


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Kavanagh, Mark B
> Sent: Monday, March 9, 2015 4:44 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] rte_memcpy.h: additional cflags required with OVS
> 
> Compilation of Open vSwitch fails when linked against current HEAD of DPDK
> (f2552cd5).
> 
> The source of this issue appears to be commit ID 9144d6b: "eal/x86:
> optimize memcpy for SSE and AVX", and can be resolved by passing an
> additional argument to OVS when building same (CFLAGS="-march=native").
> It seems that without this flag, OVS doesn't pick up one or more SSE
> #defines in DPDK, and doesn't include a relevant intrinsic header
> (emmintrin.h), leading to an 'implicit declaration' error for instrinsic
> '_mm_storeu_si128'.
> 
> Has anyone else observed this behavior?

Hi Mark,

I can confirm that behavior and that it was introduced by the new optimized memcpy. I'll look into how it might be mitigated, for Open VSwitch with DPDK.

In the meantime the following might work for OVS:

    $ ./configure CFLAGS='-Wno-bad-function-cast -march=native' --with-dpdk=$DPDK_BUILD
    $ make

But I'll look into it in more detail and update.

John
-- 




More information about the dev mailing list