[dpdk-dev] [PATCH v2] net/ixgbe: enable PTYPE offload for x86 vector PMD
Olivier Matz
olivier.matz at 6wind.com
Tue Jun 6 17:45:26 CEST 2017
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,
Olivier
More information about the dev
mailing list