[dpdk-dev] [PATCH v5 0/9] raw/ioat: driver for Intel QuickData Technology
Bruce Richardson
bruce.richardson at intel.com
Tue Jul 2 16:12:21 CEST 2019
This patch series adds support for the Intel QuickData Technology
device, part of the Intel I/O Acceleration Technology (Intel I/OAT). It
is a raw device for allowing hardware DMA i.e. data copies in hardware.
Performing the copies in hardware can provide performance improvements
for applications where the average copy size is reasonably large, e.g.
1k packets. For smaller packets, e.g. 64-256 bytes, offloading the copy
may reduce performance due to the overhead of using hardware.
V5:
* updated doxygen comment for internal rawdev pmd API
V4:
* changed memory management to use contiguous memzones instead of
malloc memory
* added missing device ids for BDX platforms
* other misc cleanup following review (see individual patches logs)
V3:
* removed DPDK-specific structure for the descriptor format and reused
the structure in the imported file rte_ioat_spec.h
V2:
* moved tests to rawdev selftest function
* some checkpatch and other small cleanups
* added extra documentation details on supported hardware
* aligned the changes to dpdk-devbind with the changes in the NTB set
for consistency
Bruce Richardson (9):
rawdev: allow devices to skip extra memory allocation
raw/ioat: add initial support for ioat rawdev driver
usertools/dpdk-devbind.py: add support for IOAT devices
raw/ioat: add register definition file
raw/ioat: create device on probe and destroy on release
raw/ioat: add device info function
raw/ioat: add configure, start and stop functions
raw/ioat: add statistics functions
raw/ioat: add local API to perform copies
MAINTAINERS | 5 +
app/test/test_rawdev.c | 20 ++
config/common_armv8a_linux | 1 +
config/common_base | 5 +
config/defconfig_arm-armv7a-linuxapp-gcc | 1 +
config/defconfig_ppc_64-power8-linuxapp-gcc | 1 +
doc/guides/rawdevs/index.rst | 1 +
doc/guides/rawdevs/ioat_rawdev.rst | 265 +++++++++++++++
doc/guides/rel_notes/release_19_08.rst | 11 +
drivers/raw/Makefile | 1 +
drivers/raw/ioat/Makefile | 31 ++
drivers/raw/ioat/ioat_rawdev.c | 356 ++++++++++++++++++++
drivers/raw/ioat/ioat_rawdev_test.c | 235 +++++++++++++
drivers/raw/ioat/meson.build | 10 +
drivers/raw/ioat/rte_ioat_rawdev.h | 234 +++++++++++++
drivers/raw/ioat/rte_ioat_spec.h | 301 +++++++++++++++++
drivers/raw/ioat/rte_pmd_ioat_version.map | 4 +
drivers/raw/meson.build | 4 +-
lib/librte_rawdev/rte_rawdev.c | 11 +-
lib/librte_rawdev/rte_rawdev_pmd.h | 4 +-
mk/rte.app.mk | 1 +
usertools/dpdk-devbind.py | 10 +
22 files changed, 1505 insertions(+), 7 deletions(-)
create mode 100644 doc/guides/rawdevs/ioat_rawdev.rst
create mode 100644 drivers/raw/ioat/Makefile
create mode 100644 drivers/raw/ioat/ioat_rawdev.c
create mode 100644 drivers/raw/ioat/ioat_rawdev_test.c
create mode 100644 drivers/raw/ioat/meson.build
create mode 100644 drivers/raw/ioat/rte_ioat_rawdev.h
create mode 100644 drivers/raw/ioat/rte_ioat_spec.h
create mode 100644 drivers/raw/ioat/rte_pmd_ioat_version.map
--
2.21.0
More information about the dev
mailing list