[dpdk-dev] [PATCH v2] net/ixgbe: enable PTYPE offload for x86 vector PMD

Zhang, Qi Z qi.z.zhang at intel.com
Tue Jun 6 18:03:01 CEST 2017


Hi Oliver:

> -----Original Message-----
> From: Olivier Matz [mailto:olivier.matz at 6wind.com]
> Sent: Tuesday, June 6, 2017 11:45 PM
> To: Zhang, Qi Z <qi.z.zhang at intel.com>
> Cc: Ananyev, Konstantin <konstantin.ananyev at intel.com>; Zhang, Helin
> <helin.zhang at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Kinsella,
> Ray <ray.kinsella at intel.com>; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: enable PTYPE offload for x86
> vector PMD
> 
> Hi Qi,
> 
> On Wed, 31 May 2017 19:30:26 -0400, Qi Zhang <qi.z.zhang at intel.com>
> wrote:
> > Hardware PTYPE in Rx desc will be parsed to fill mbuf's packet_type.
> >
> > Signed-off-by: Ray Kinsella <ray.kinsella at intel.com>
> > Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
> > ---
> >
> > v2:
> > - replace large macro that parse packet type with inline function
> > - fix couple check patch issues.
> >
> >  drivers/net/ixgbe/ixgbe_ethdev.c       |   8 +
> >  drivers/net/ixgbe/ixgbe_rxtx.c         | 623
> ++++++++++++++-------------------
> >  drivers/net/ixgbe/ixgbe_rxtx.h         |  92 +++++
> >  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c |  65 ++++
> >  4 files changed, 434 insertions(+), 354 deletions(-)
> >
> 
> I tried to compile your patch with RTE_MACHINE=default, and I have the
> following compilation error:
> 
> gcc -Wp,-MD,./.ixgbe_rxtx_vec_sse.o.d.tmp  -m64 -pthread
> -march=core2 -DRTE_MACHINE_CPUFLAG_SSE
> -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3
> -DRTE_MACHINE_CPUFLAG_SSSE3  -I/home/user/dpdk.org/build/include
> -include /home/user/dpdk.org/build/include/rte_config.h -O3 -W -Wall
> -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
> -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs
> -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef
> -Wwrite-strings -Werror -Wno-deprecated    -o ixgbe_rxtx_vec_sse.o -c
> /home/user/dpdk.org/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> In file included from
> /usr/lib/gcc/x86_64-linux-gnu/6/include/x86intrin.h:43:0,
>                  from
> /home/user/dpdk.org/build/include/rte_vect.h:70,
>                  from
> /home/user/dpdk.org/build/include/rte_memcpy.h:46,
>                  from
> /home/user/dpdk.org/build/include/rte_ether.h:50,
>                  from
> /home/user/dpdk.org/build/include/rte_ethdev.h:185,
>                  from
> /home/user/dpdk.org/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c:35:
> /home/user/dpdk.org/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c: In function
> ‘desc_to_ptype_v’:
> /usr/lib/gcc/x86_64-linux-gnu/6/include/smmintrin.h:447:1: error: inlining
> failed in call to always_inline ‘_mm_extract_epi32’: target specific option
> mismatch
>  _mm_extract_epi32 (__m128i __X, const int __N)  ^~~~~~~~~~~~~~~~~
> /home/user/dpdk.org/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c:300:13: note:
> called from here
>   pkt_info = _mm_extract_epi32(ptype0, 3);
>              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from
> /usr/lib/gcc/x86_64-linux-gnu/6/include/x86intrin.h:43:0,
>                  from
> /home/user/dpdk.org/build/include/rte_vect.h:70,
>                  from
> /home/user/dpdk.org/build/include/rte_memcpy.h:46,
>                  from
> /home/user/dpdk.org/build/include/rte_ether.h:50,
>                  from
> /home/user/dpdk.org/build/include/rte_ethdev.h:185,
>                  from
> /home/user/dpdk.org/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c:35:
> [...]
> 
> 
> To reproduce:
>  make config T=x86_64-native-linuxapp-gcc  sed -i
> 's,CONFIG_RTE_MACHINE="native",CONFIG_RTE_MACHINE="default",'
> build/.config  make
> 
> Do we still want to support the core2 target?

Thanks for capture this/
Will fix in v3

Regards.
Qi
> 
> 
> Thanks,
> Olivier
> 



More information about the dev mailing list