Go to file
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
app ethdev: support SCTP Rx checksum offload 2018-10-11 18:53:49 +02:00
buildtools buildtools: prevent experimental symbol match on substring 2018-10-11 13:57:29 +02:00
config net/enetc: add PMD with basic operations 2018-10-11 18:53:49 +02:00
devtools net/mvneta: add PMD skeleton 2018-10-11 18:53:48 +02:00
doc net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
drivers net/enic: add AVX2 based vectorized Rx handler 2018-10-11 18:53:49 +02:00
examples examples/vdpa: introduce a new sample for vDPA 2018-10-11 18:53:49 +02:00
kernel igb_uio: fix refcount if open returns error 2018-10-11 13:47:19 +02:00
lib mbuf: fix Tx offload mask 2018-10-11 18:53:49 +02:00
license license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mk net/enetc: add PMD with basic operations 2018-10-11 18:53:49 +02:00
pkg version: 18.08.0 2018-08-09 23:11:26 +02:00
test test: support external memory 2018-10-11 11:56:55 +02:00
usertools usertools: add octeontx zip device for binding 2018-07-25 13:36:26 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add compression driver and ISA-L PMD guides 2018-05-10 17:46:20 +01:00
GNUmakefile move kernel modules directories 2018-03-21 23:04:21 +01:00
MAINTAINERS examples/vdpa: introduce a new sample for vDPA 2018-10-11 18:53:49 +02:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt net/mlx5: support meson build 2018-09-28 01:41:01 +02:00
meson.build build: generate API documentation with meson 2018-09-18 15:50:54 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org