* Re: [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices
@ 2019-06-27 12:10 Jerin Jacob Kollanukkaran
0 siblings, 0 replies; 3+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-06-27 12:10 UTC (permalink / raw)
To: Bruce Richardson, dev; +Cc: thomas
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, June 27, 2019 4:11 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> Bruce Richardson <bruce.richardson@intel.com>
> Subject: [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for
> IOAT devices
> In order to allow binding/unbinding of devices for use by the ioat_rawdev,
> we need to update the devbind script to add a new class of device, and add
> device ids for the specific HW instances.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [dpdk-dev] [PATCH 0/8] raw/ioat: driver for Intel QuickData Technology @ 2019-05-30 21:25 Bruce Richardson 2019-06-27 10:40 ` [dpdk-dev] [PATCH v3 " Bruce Richardson 0 siblings, 1 reply; 3+ messages in thread From: Bruce Richardson @ 2019-05-30 21:25 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson 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. Bruce Richardson (8): 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 | 7 +- app/test/Makefile | 1 + app/test/meson.build | 4 + app/test/test_ioat_rawdev.c | 269 +++++++++++++++++ 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 | 227 ++++++++++++++ doc/guides/rel_notes/release_19_08.rst | 11 + drivers/raw/Makefile | 1 + drivers/raw/ioat/Makefile | 29 ++ drivers/raw/ioat/ioat_rawdev.c | 310 ++++++++++++++++++++ drivers/raw/ioat/meson.build | 9 + drivers/raw/ioat/rte_ioat_rawdev.h | 228 ++++++++++++++ drivers/raw/ioat/rte_ioat_spec.h | 301 +++++++++++++++++++ drivers/raw/ioat/rte_pmd_ioat_version.map | 4 + drivers/raw/meson.build | 3 +- mk/rte.app.mk | 1 + usertools/dpdk-devbind.py | 10 + 21 files changed, 1422 insertions(+), 2 deletions(-) create mode 100644 app/test/test_ioat_rawdev.c 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/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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [dpdk-dev] [PATCH v3 0/8] raw/ioat: driver for Intel QuickData Technology 2019-05-30 21:25 [dpdk-dev] [PATCH 0/8] raw/ioat: driver for Intel QuickData Technology Bruce Richardson @ 2019-06-27 10:40 ` Bruce Richardson 2019-06-27 10:40 ` [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices Bruce Richardson 0 siblings, 1 reply; 3+ messages in thread From: Bruce Richardson @ 2019-06-27 10:40 UTC (permalink / raw) To: dev; +Cc: thomas, jerinj, Bruce Richardson 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. 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 (8): 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 | 6 +- app/test/test_rawdev.c | 19 ++ 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 | 313 ++++++++++++++++++++ drivers/raw/ioat/ioat_rawdev_test.c | 235 +++++++++++++++ drivers/raw/ioat/meson.build | 10 + drivers/raw/ioat/rte_ioat_rawdev.h | 230 ++++++++++++++ drivers/raw/ioat/rte_ioat_spec.h | 301 +++++++++++++++++++ drivers/raw/ioat/rte_pmd_ioat_version.map | 4 + drivers/raw/meson.build | 4 +- mk/rte.app.mk | 1 + usertools/dpdk-devbind.py | 10 + 20 files changed, 1448 insertions(+), 2 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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices 2019-06-27 10:40 ` [dpdk-dev] [PATCH v3 " Bruce Richardson @ 2019-06-27 10:40 ` Bruce Richardson 2019-06-27 11:57 ` Burakov, Anatoly 0 siblings, 1 reply; 3+ messages in thread From: Bruce Richardson @ 2019-06-27 10:40 UTC (permalink / raw) To: dev; +Cc: thomas, jerinj, Bruce Richardson In order to allow binding/unbinding of devices for use by the ioat_rawdev, we need to update the devbind script to add a new class of device, and add device ids for the specific HW instances. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- V2: rather than adding a DMA section, add to "misc (rawdev)" section where other device types, e.g. ntb can also do. NOTE: this set largely overlaps with the equivalent changes made by the patchset adding NTB support [1]. Since it's unclear which set will be added first, this set is based off the latest head. [1] http://patches.dpdk.org/patch/55127/ --- doc/guides/rawdevs/ioat_rawdev.rst | 11 +++++++++++ usertools/dpdk-devbind.py | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/doc/guides/rawdevs/ioat_rawdev.rst b/doc/guides/rawdevs/ioat_rawdev.rst index 0c612e73a..1a4b0e03e 100644 --- a/doc/guides/rawdevs/ioat_rawdev.rst +++ b/doc/guides/rawdevs/ioat_rawdev.rst @@ -61,3 +61,14 @@ configurations. For builds using ``meson`` and ``ninja``, the driver will be built when the target platform is x86-based. + +Device Setup +------------- + +The Intel\ |reg| QuickData Technology HW devices will need to be bound to a +user-space IO driver for use. The script ``dpdk-devbind.py`` script +included with DPDK can be used to view the state of the devices and to bind +them to a suitable DPDK-supported kernel driver. When querying the status +of the devices, they will appear under the category of "Misc (rawdev) +devices", i.e. the command ``dpdk-devbind.py --status-dev misc`` can be +used to see the state of those devices alone. diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py index 9e79f0d28..5c1cd3548 100755 --- a/usertools/dpdk-devbind.py +++ b/usertools/dpdk-devbind.py @@ -36,11 +36,17 @@ octeontx2_npa = {'Class': '08', 'Vendor': '177d', 'Device': 'a0fb,a0fc', 'SVendor': None, 'SDevice': None} +intel_ioat_bdw = {'Class': '08', 'Vendor': '8086', 'Device': '6f20,6f21,6f22,6f23,6f24,6f25,6f26,6f27,6f2e,6f2f', + 'SVendor': None, 'SDevice': None} +intel_ioat_skx = {'Class': '08', 'Vendor': '8086', 'Device': '2021', + 'SVendor': None, 'SDevice': None} + network_devices = [network_class, cavium_pkx, avp_vnic, ifpga_class] crypto_devices = [encryption_class, intel_processor_class] eventdev_devices = [cavium_sso, cavium_tim, octeontx2_sso] mempool_devices = [cavium_fpa, octeontx2_npa] compress_devices = [cavium_zip] +misc_devices = [intel_ioat_bdw, intel_ioat_skx] # global dict ethernet devices present. Dictionary indexed by PCI address. # Each device within this is itself a dictionary of device properties @@ -595,6 +601,8 @@ def show_status(): if status_dev == "compress" or status_dev == "all": show_device_status(compress_devices , "Compress") + if status_dev == "misc" or status_dev == "all": + show_device_status(misc_devices, "Misc (rawdev)") def parse_args(): '''Parses the command-line arguments given by the user and takes the @@ -670,6 +678,7 @@ def do_arg_actions(): get_device_details(eventdev_devices) get_device_details(mempool_devices) get_device_details(compress_devices) + get_device_details(misc_devices) show_status() @@ -690,6 +699,7 @@ def main(): get_device_details(eventdev_devices) get_device_details(mempool_devices) get_device_details(compress_devices) + get_device_details(misc_devices) do_arg_actions() if __name__ == "__main__": -- 2.21.0 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices 2019-06-27 10:40 ` [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices Bruce Richardson @ 2019-06-27 11:57 ` Burakov, Anatoly 0 siblings, 0 replies; 3+ messages in thread From: Burakov, Anatoly @ 2019-06-27 11:57 UTC (permalink / raw) To: Bruce Richardson, dev; +Cc: thomas, jerinj On 27-Jun-19 11:40 AM, Bruce Richardson wrote: > In order to allow binding/unbinding of devices for use by the > ioat_rawdev, we need to update the devbind script to add a new class > of device, and add device ids for the specific HW instances. > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > > --- Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> -- Thanks, Anatoly ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-06-27 12:10 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-06-27 12:10 [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices Jerin Jacob Kollanukkaran -- strict thread matches above, loose matches on Subject: below -- 2019-05-30 21:25 [dpdk-dev] [PATCH 0/8] raw/ioat: driver for Intel QuickData Technology Bruce Richardson 2019-06-27 10:40 ` [dpdk-dev] [PATCH v3 " Bruce Richardson 2019-06-27 10:40 ` [dpdk-dev] [PATCH v3 2/8] usertools/dpdk-devbind.py: add support for IOAT devices Bruce Richardson 2019-06-27 11:57 ` Burakov, Anatoly
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).