Message ID | 20190627104055.8244-1-bruce.richardson@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 99D8F1E25; Thu, 27 Jun 2019 12:41:02 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 452BC1E20 for <dev@dpdk.org>; Thu, 27 Jun 2019 12:41:00 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Jun 2019 03:40:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,423,1557212400"; d="scan'208";a="156198682" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by orsmga008.jf.intel.com with ESMTP; 27 Jun 2019 03:40:57 -0700 From: Bruce Richardson <bruce.richardson@intel.com> To: dev@dpdk.org Cc: thomas@monjalon.net, jerinj@marvell.com, Bruce Richardson <bruce.richardson@intel.com> Date: Thu, 27 Jun 2019 11:40:47 +0100 Message-Id: <20190627104055.8244-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190530212525.40370-1-bruce.richardson@intel.com> References: <20190530212525.40370-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v3 0/8] raw/ioat: driver for Intel QuickData Technology X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
raw/ioat: driver for Intel QuickData Technology
|
|
Message
Bruce Richardson
June 27, 2019, 10:40 a.m. UTC
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
Comments
> -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson > Sent: Thursday, June 27, 2019 11:41 AM > To: dev@dpdk.org > Cc: thomas@monjalon.net; jerinj@marvell.com; Richardson, Bruce > <bruce.richardson@intel.com> > Subject: [dpdk-dev] [PATCH v3 0/8] raw/ioat: driver for Intel QuickData > Technology > > 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. Applied (release notes conflict - but that's par for the course close to integration) Build each patch with meson (git rebase -x is awesome :) Ran unit tests: $ ioat_rawdev_probe(): Init 0000:00:04.0 on NUMA node 0 $ failed_enqueues: 0 successful_enqueues: 3300 copies_started: 3300 copies_completed: 3300 All seems fine to me; Series-Tested-by: Harry van Haaren <harry.van.haaren@intel.com>