numam-dpdk/drivers/net
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
..
af_packet ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
ark net/ark: use SPDX tags 2018-07-04 21:21:31 +02:00
avf net/avf: remove keeping CRC configuration 2018-09-28 01:41:03 +02:00
avp ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
axgbe ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
bnx2x net/bnx2x: fix to add PHY lock 2018-10-11 18:53:48 +02:00
bnxt net/bnxt: reduce polling interval for valid bit 2018-10-11 18:53:48 +02:00
bonding net/bonding: switch to flow API object conversion function 2018-10-11 18:53:49 +02:00
cxgbe net/cxgbe: announce Rx scatter offload 2018-09-28 01:41:03 +02:00
dpaa net/dpaa: tune prefetch in Rx path 2018-09-28 01:41:02 +02:00
dpaa2 drivers/net: remove double assignment of driver 2018-09-28 18:02:49 +02:00
e1000 net/igb: support dev reset 2018-09-28 01:41:02 +02:00
ena remove useless constructor headers 2018-07-12 00:00:35 +02:00
enetc net/enetc: support packet type parsing 2018-10-11 18:53:49 +02:00
enic net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
failsafe net/failsafe: switch to flow API object conversion function 2018-10-11 18:53:49 +02:00
fm10k net/fm10k: add imissed stats 2018-09-28 01:41:02 +02:00
i40e net/i40e: config flow director automatically 2018-10-11 18:53:48 +02:00
ifc net/ifc: fix build with Linux < 3.19 2018-10-09 01:58:56 +02:00
ixgbe net/ixgbe: wait longer for link after fiber MAC setup 2018-10-11 18:53:48 +02:00
kni ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
liquidio remove useless constructor headers 2018-07-12 00:00:35 +02:00
mlx4 net/mlx4: support meson build 2018-09-28 01:41:01 +02:00
mlx5 mem: allow memseg lists to be marked as external 2018-10-11 10:24:29 +02:00
mvneta net/mvneta: support statistics reset 2018-10-11 18:53:48 +02:00
mvpp2 net/mvpp2: support Tx scatter/gather 2018-09-28 01:41:03 +02:00
netvsc net/netvsc: check return from kvargs process 2018-10-11 18:53:48 +02:00
nfp net/nfp: fix RSS 2018-10-11 18:53:48 +02:00
null ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
octeontx event/octeontx: support Tx adapter 2018-10-01 16:52:07 +02:00
pcap net/pcap: generate unique MAC addresses for interfaces 2018-09-28 01:41:02 +02:00
qede net/qede: bump PMD version to 2.10.0.1 2018-10-11 18:53:48 +02:00
ring ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
sfc net/sfc: support Rx descriptor status on EF10 datapath 2018-10-11 18:53:49 +02:00
softnic ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
szedata2 ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
tap net/tap: add in meson build 2018-09-18 22:48:49 +02:00
thunderx net/*/base: allow use of experimental APIs in base code 2018-09-28 01:41:01 +02:00
vdev_netvsc net/vdev_netvsc: add in meson build 2018-09-18 22:49:39 +02:00
vhost ethdev: make default behavior CRC strip on Rx 2018-09-14 20:08:41 +02:00
virtio malloc: enable event callbacks for external memory 2018-10-11 11:56:55 +02:00
vmxnet3 net/vmxnet3: support stats reset 2018-09-28 01:41:02 +02:00
Makefile net/enetc: add PMD with basic operations 2018-10-11 18:53:49 +02:00
meson.build net/enetc: add PMD with basic operations 2018-10-11 18:53:49 +02:00