numam-dpdk/drivers/net/enic
Hyong Youb Kim 8a6ff33d6d net/enic: add AVX2 based vectorized Rx handler
Add the vectorized version of the no-scatter Rx handler. It aims to
process 8 descriptors per loop using AVX2 SIMD instructions. This
handler is in its own file enic_rxtx_vec_avx2.c, and makefile and
meson.build are modified to compile it when the compiler supports
AVX2. Under ideal conditions, the vectorized handler reduces
cycles/packet by more than 30%, when compared against the no-scatter
Rx handler. Most implementation ideas come from i40e's AVX2 based
handler, so credit goes to its authors.

At this point, the new handler is meant for field trials, and is not
selected by default. So add a new devarg enable-avx2-rx to allow the
user to request the use of the new handler. When enable-avx2-rx=1, the
driver will consider using the new handler.

Also update the guide doc and introduce the vectorized handler.

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
2018-10-11 18:53:49 +02:00
..
base net/enic: support flow counter action 2018-10-11 18:53:48 +02:00
enic_clsf.c net/enic: avoid strict aliasing warnings 2018-03-30 14:08:43 +02:00
enic_compat.h net/enic: add the simple version of Tx handler 2018-07-03 01:54:23 +02:00
enic_ethdev.c net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
enic_flow.c net/enic: support flow counter action 2018-10-11 18:53:48 +02:00
enic_main.c net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
enic_res.c net/enic: support flow counter action 2018-10-11 18:53:48 +02:00
enic_res.h net/enic: add simple Rx handler 2018-07-03 01:54:26 +02:00
enic_rxtx_common.h net/enic: move common Rx functions to a new header file 2018-10-11 18:53:49 +02:00
enic_rxtx_vec_avx2.c net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
enic_rxtx.c net/enic: move common Rx functions to a new header file 2018-10-11 18:53:49 +02:00
enic.h net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
Makefile net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
meson.build net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
rte_pmd_enic_version.map