From: Bruce Richardson <bruce.richardson@intel.com> To: dev@dpdk.org Cc: patrick.fu@intel.com, thomas@monjalon.net, Kevin Laatz <kevin.laatz@intel.com>, Bruce Richardson <bruce.richardson@intel.com>, Radu Nicolau <radu.nicolau@intel.com> Subject: [dpdk-dev] [PATCH v5 25/25] raw/ioat: add fill operation Date: Wed, 7 Oct 2020 17:30:23 +0100 Message-ID: <20201007163023.2817-26-bruce.richardson@intel.com> (raw) In-Reply-To: <20201007163023.2817-1-bruce.richardson@intel.com> From: Kevin Laatz <kevin.laatz@intel.com> Add fill operation enqueue support for IOAT and IDXD. The fill enqueue is similar to the copy enqueue, but takes a 'pattern' rather than a source address to transfer to the destination address. This patch also includes an additional test case for the new operation type. Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Radu Nicolau <radu.nicolau@intel.com> --- doc/guides/rawdevs/ioat.rst | 10 ++++ doc/guides/rel_notes/release_20_11.rst | 2 + drivers/raw/ioat/ioat_rawdev_test.c | 62 ++++++++++++++++++++++++ drivers/raw/ioat/rte_ioat_rawdev.h | 26 +++++++++++ drivers/raw/ioat/rte_ioat_rawdev_fns.h | 65 ++++++++++++++++++++++++-- 5 files changed, 160 insertions(+), 5 deletions(-) diff --git a/doc/guides/rawdevs/ioat.rst b/doc/guides/rawdevs/ioat.rst index 7c2a2d457..250cfc48a 100644 --- a/doc/guides/rawdevs/ioat.rst +++ b/doc/guides/rawdevs/ioat.rst @@ -285,6 +285,16 @@ is correct before freeing the data buffers using the returned handles: } +Filling an Area of Memory +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The IOAT driver also has support for the ``fill`` operation, where an area +of memory is overwritten, or filled, with a short pattern of data. +Fill operations can be performed in much the same was as copy operations +described above, just using the ``rte_ioat_enqueue_fill()`` function rather +than the ``rte_ioat_enqueue_copy()`` function. + + Querying Device Statistics ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index e48e6ea75..943ec83fd 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -122,6 +122,8 @@ New Features * Added support for Intel\ |reg| Data Streaming Accelerator hardware. For more information, see https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator + * Added support for the fill operation via the API ``rte_ioat_enqueue_fill()``, + where the hardware fills an area of memory with a repeating pattern. * Added a per-device configuration flag to disable management of user-provided completion handles * Renamed the ``rte_ioat_do_copies()`` API to ``rte_ioat_perform_ops()``, and renamed the ``rte_ioat_completed_copies()`` API to ``rte_ioat_completed_ops()`` diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c index 60d189b62..101f24a67 100644 --- a/drivers/raw/ioat/ioat_rawdev_test.c +++ b/drivers/raw/ioat/ioat_rawdev_test.c @@ -155,6 +155,52 @@ test_enqueue_copies(int dev_id) return 0; } +static int +test_enqueue_fill(int dev_id) +{ + const unsigned int length[] = {8, 64, 1024, 50, 100, 89}; + struct rte_mbuf *dst = rte_pktmbuf_alloc(pool); + char *dst_data = rte_pktmbuf_mtod(dst, char *); + struct rte_mbuf *completed[2] = {0}; + uint64_t pattern = 0xfedcba9876543210; + unsigned int i, j; + + for (i = 0; i < RTE_DIM(length); i++) { + /* reset dst_data */ + memset(dst_data, 0, length[i]); + + /* perform the fill operation */ + if (rte_ioat_enqueue_fill(dev_id, pattern, + dst->buf_iova + dst->data_off, length[i], + (uintptr_t)dst) != 1) { + PRINT_ERR("Error with rte_ioat_enqueue_fill\n"); + return -1; + } + + rte_ioat_perform_ops(dev_id); + usleep(100); + + if (rte_ioat_completed_ops(dev_id, 1, (void *)&completed[0], + (void *)&completed[1]) != 1) { + PRINT_ERR("Error with completed ops\n"); + return -1; + } + /* check the result */ + for (j = 0; j < length[i]; j++) { + char pat_byte = ((char *)&pattern)[j % 8]; + if (dst_data[j] != pat_byte) { + PRINT_ERR("Error with fill operation (length = %u): got (%x), not (%x)\n", + length[i], dst_data[j], + pat_byte); + return -1; + } + } + } + + rte_pktmbuf_free(dst); + return 0; +} + int ioat_rawdev_test(uint16_t dev_id) { @@ -234,6 +280,7 @@ ioat_rawdev_test(uint16_t dev_id) } /* run the test cases */ + printf("Running Copy Tests\n"); for (i = 0; i < 100; i++) { unsigned int j; @@ -247,6 +294,21 @@ ioat_rawdev_test(uint16_t dev_id) } printf("\n"); + /* test enqueue fill operation */ + printf("Running Fill Tests\n"); + for (i = 0; i < 100; i++) { + unsigned int j; + + if (test_enqueue_fill(dev_id) != 0) + goto err; + + rte_rawdev_xstats_get(dev_id, ids, stats, nb_xstats); + for (j = 0; j < nb_xstats; j++) + printf("%s: %"PRIu64" ", snames[j].name, stats[j]); + printf("\r"); + } + printf("\n"); + rte_rawdev_stop(dev_id); if (rte_rawdev_xstats_reset(dev_id, NULL, 0) != 0) { PRINT_ERR("Error resetting xstat values\n"); diff --git a/drivers/raw/ioat/rte_ioat_rawdev.h b/drivers/raw/ioat/rte_ioat_rawdev.h index 6b891cd44..b7632ebf3 100644 --- a/drivers/raw/ioat/rte_ioat_rawdev.h +++ b/drivers/raw/ioat/rte_ioat_rawdev.h @@ -37,6 +37,32 @@ struct rte_ioat_rawdev_config { bool hdls_disable; /**< if set, ignore user-supplied handle params */ }; +/** + * Enqueue a fill operation onto the ioat device + * + * This queues up a fill operation to be performed by hardware, but does not + * trigger hardware to begin that operation. + * + * @param dev_id + * The rawdev device id of the ioat instance + * @param pattern + * The pattern to populate the destination buffer with + * @param dst + * The physical address of the destination buffer + * @param length + * The length of the destination buffer + * @param dst_hdl + * An opaque handle for the destination data, to be returned when this + * operation has been completed and the user polls for the completion details. + * NOTE: If hdls_disable configuration option for the device is set, this + * parameter is ignored. + * @return + * Number of operations enqueued, either 0 or 1 + */ +static inline int +rte_ioat_enqueue_fill(int dev_id, uint64_t pattern, phys_addr_t dst, + unsigned int length, uintptr_t dst_hdl); + /** * Enqueue a copy operation onto the ioat device * diff --git a/drivers/raw/ioat/rte_ioat_rawdev_fns.h b/drivers/raw/ioat/rte_ioat_rawdev_fns.h index d0045d8a4..c2c4601ca 100644 --- a/drivers/raw/ioat/rte_ioat_rawdev_fns.h +++ b/drivers/raw/ioat/rte_ioat_rawdev_fns.h @@ -115,6 +115,13 @@ enum rte_idxd_ops { #define IDXD_FLAG_REQUEST_COMPLETION (1 << 3) #define IDXD_FLAG_CACHE_CONTROL (1 << 8) +#define IOAT_COMP_UPDATE_SHIFT 3 +#define IOAT_CMD_OP_SHIFT 24 +enum rte_ioat_ops { + ioat_op_copy = 0, /* Standard DMA Operation */ + ioat_op_fill /* Block Fill */ +}; + /** * Hardware descriptor used by DSA hardware, for both bursts and * for individual operations. @@ -203,11 +210,8 @@ struct rte_idxd_rawdev { struct rte_idxd_desc_batch *batch_ring; }; -/* - * Enqueue a copy operation onto the ioat device - */ static __rte_always_inline int -__ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, +__ioat_write_desc(int dev_id, uint32_t op, uint64_t src, phys_addr_t dst, unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl) { struct rte_ioat_rawdev *ioat = @@ -229,7 +233,8 @@ __ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, desc = &ioat->desc_ring[write]; desc->size = length; /* set descriptor write-back every 16th descriptor */ - desc->u.control_raw = (uint32_t)((!(write & 0xF)) << 3); + desc->u.control_raw = (uint32_t)((op << IOAT_CMD_OP_SHIFT) | + (!(write & 0xF) << IOAT_COMP_UPDATE_SHIFT)); desc->src_addr = src; desc->dest_addr = dst; @@ -242,6 +247,27 @@ __ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, return 1; } +static __rte_always_inline int +__ioat_enqueue_fill(int dev_id, uint64_t pattern, phys_addr_t dst, + unsigned int length, uintptr_t dst_hdl) +{ + static const uintptr_t null_hdl; + + return __ioat_write_desc(dev_id, ioat_op_fill, pattern, dst, length, + null_hdl, dst_hdl); +} + +/* + * Enqueue a copy operation onto the ioat device + */ +static __rte_always_inline int +__ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, + unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl) +{ + return __ioat_write_desc(dev_id, ioat_op_copy, src, dst, length, + src_hdl, dst_hdl); +} + /* add fence to last written descriptor */ static __rte_always_inline int __ioat_fence(int dev_id) @@ -380,6 +406,23 @@ __idxd_write_desc(int dev_id, const struct rte_idxd_hw_desc *desc, return 0; } +static __rte_always_inline int +__idxd_enqueue_fill(int dev_id, uint64_t pattern, rte_iova_t dst, + unsigned int length, uintptr_t dst_hdl) +{ + const struct rte_idxd_hw_desc desc = { + .op_flags = (idxd_op_fill << IDXD_CMD_OP_SHIFT) | + IDXD_FLAG_CACHE_CONTROL, + .src = pattern, + .dst = dst, + .size = length + }; + const struct rte_idxd_user_hdl hdl = { + .dst = dst_hdl + }; + return __idxd_write_desc(dev_id, &desc, &hdl); +} + static __rte_always_inline int __idxd_enqueue_copy(int dev_id, rte_iova_t src, rte_iova_t dst, unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl) @@ -475,6 +518,18 @@ __idxd_completed_ops(int dev_id, uint8_t max_ops, return n; } +static inline int +rte_ioat_enqueue_fill(int dev_id, uint64_t pattern, phys_addr_t dst, + unsigned int len, uintptr_t dst_hdl) +{ + enum rte_ioat_dev_type *type = + (enum rte_ioat_dev_type *)rte_rawdevs[dev_id].dev_private; + if (*type == RTE_IDXD_DEV) + return __idxd_enqueue_fill(dev_id, pattern, dst, len, dst_hdl); + else + return __ioat_enqueue_fill(dev_id, pattern, dst, len, dst_hdl); +} + static inline int rte_ioat_enqueue_copy(int dev_id, phys_addr_t src, phys_addr_t dst, unsigned int length, uintptr_t src_hdl, uintptr_t dst_hdl) -- 2.25.1
next prev parent reply other threads:[~2020-10-07 16:39 UTC|newest] Thread overview: 157+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-21 9:51 [dpdk-dev] [PATCH 20.11 00/20] raw/ioat: enhancements and new hardware support Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 01/20] raw/ioat: add a flag to control copying handle parameters Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 02/20] raw/ioat: support multiple devices being tested Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 03/20] app/test: change rawdev autotest to run selftest on all devs Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 04/20] app/test: remove ioat-specific autotest Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 05/20] raw/ioat: split header for readability Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 06/20] raw/ioat: make the HW register spec private Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 07/20] usertools/dpdk-devbind.py: add support for DSA HW Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 08/20] raw/ioat: add skeleton for vfio/uio based DSA device Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 09/20] raw/ioat: add vdev probe for DSA/idxd devices Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 10/20] raw/ioat: create rawdev instances on idxd PCI probe Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 11/20] raw/ioat: create rawdev instances for idxd vdevs Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 12/20] raw/ioat: add datapath data structures for idxd devices Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 13/20] raw/ioat: add configure function " Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 14/20] raw/ioat: add start and stop functions " Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 15/20] raw/ioat: add data path support " Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 16/20] raw/ioat: add info function " Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 17/20] raw/ioat: create separate statistics structure Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 18/20] raw/ioat: move xstats functions to common file Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 19/20] raw/ioat: add xstats tracking for idxd devices Bruce Richardson 2020-07-21 9:51 ` [dpdk-dev] [PATCH 20.11 20/20] raw/ioat: clean up use of common test function Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 00/18] raw/ioat: enhancements and new hardware support Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 01/18] raw/ioat: add a flag to control copying handle parameters Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 02/18] raw/ioat: split header for readability Bruce Richardson 2020-08-25 15:27 ` Laatz, Kevin 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 03/18] raw/ioat: make the HW register spec private Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 04/18] usertools/dpdk-devbind.py: add support for DSA HW Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 05/18] raw/ioat: add skeleton for VFIO/UIO based DSA device Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 06/18] raw/ioat: add vdev probe for DSA/idxd devices Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 07/18] raw/ioat: include example configuration script Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 08/18] raw/ioat: create rawdev instances on idxd PCI probe Bruce Richardson 2020-08-25 15:27 ` Laatz, Kevin 2020-08-26 15:45 ` Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 09/18] raw/ioat: create rawdev instances for idxd vdevs Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 10/18] raw/ioat: add datapath data structures for idxd devices Bruce Richardson 2020-08-25 15:27 ` Laatz, Kevin 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 11/18] raw/ioat: add configure function " Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 12/18] raw/ioat: add start and stop functions " Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 13/18] raw/ioat: add data path " Bruce Richardson 2020-08-25 15:27 ` Laatz, Kevin 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 14/18] raw/ioat: add info function " Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 15/18] raw/ioat: create separate statistics structure Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 16/18] raw/ioat: move xstats functions to common file Bruce Richardson 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 17/18] raw/ioat: add xstats tracking for idxd devices Bruce Richardson 2020-08-24 9:56 ` Laatz, Kevin 2020-08-21 16:29 ` [dpdk-dev] [PATCH v2 18/18] raw/ioat: clean up use of common test function Bruce Richardson 2020-08-21 16:39 ` [dpdk-dev] [PATCH v2 00/18] raw/ioat: enhancements and new hardware support Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 00/25] " Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 01/25] doc/api: add ioat driver to index Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 02/25] raw/ioat: fix missing close function Bruce Richardson 2020-09-25 11:12 ` Bruce Richardson 2020-09-25 11:12 ` Pai G, Sunil 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 03/25] raw/ioat: enable use from C++ code Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 04/25] raw/ioat: include extra info in error messages Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 05/25] raw/ioat: add a flag to control copying handle parameters Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 06/25] raw/ioat: split header for readability Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 07/25] raw/ioat: rename functions to be operation-agnostic Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 08/25] raw/ioat: add separate API for fence call Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 09/25] raw/ioat: make the HW register spec private Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 10/25] usertools/dpdk-devbind.py: add support for DSA HW Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 11/25] raw/ioat: add skeleton for VFIO/UIO based DSA device Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 12/25] raw/ioat: add vdev probe for DSA/idxd devices Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 13/25] raw/ioat: include example configuration script Bruce Richardson 2020-09-25 11:08 ` [dpdk-dev] [PATCH v3 14/25] raw/ioat: create rawdev instances on idxd PCI probe Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 15/25] raw/ioat: create rawdev instances for idxd vdevs Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 16/25] raw/ioat: add datapath data structures for idxd devices Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 17/25] raw/ioat: add configure function " Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 18/25] raw/ioat: add start and stop functions " Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 19/25] raw/ioat: add data path " Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 20/25] raw/ioat: add info function " Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 21/25] raw/ioat: create separate statistics structure Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 22/25] raw/ioat: move xstats functions to common file Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 23/25] raw/ioat: add xstats tracking for idxd devices Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 24/25] raw/ioat: clean up use of common test function Bruce Richardson 2020-09-25 11:09 ` [dpdk-dev] [PATCH v3 25/25] raw/ioat: add fill operation Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 00/25] raw/ioat: enhancements and new hardware support Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 01/25] doc/api: add ioat driver to index Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 02/25] raw/ioat: fix missing close function Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 03/25] raw/ioat: enable use from C++ code Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 04/25] raw/ioat: include extra info in error messages Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 05/25] raw/ioat: add a flag to control copying handle parameters Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 06/25] raw/ioat: split header for readability Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 07/25] raw/ioat: rename functions to be operation-agnostic Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 08/25] raw/ioat: add separate API for fence call Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 09/25] raw/ioat: make the HW register spec private Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 10/25] usertools/dpdk-devbind.py: add support for DSA HW Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 11/25] raw/ioat: add skeleton for VFIO/UIO based DSA device Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 12/25] raw/ioat: add vdev probe for DSA/idxd devices Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 13/25] raw/ioat: include example configuration script Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 14/25] raw/ioat: create rawdev instances on idxd PCI probe Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 15/25] raw/ioat: create rawdev instances for idxd vdevs Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 16/25] raw/ioat: add datapath data structures for idxd devices Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 17/25] raw/ioat: add configure function " Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 18/25] raw/ioat: add start and stop functions " Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 19/25] raw/ioat: add data path " Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 20/25] raw/ioat: add info function " Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 21/25] raw/ioat: create separate statistics structure Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 22/25] raw/ioat: move xstats functions to common file Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 23/25] raw/ioat: add xstats tracking for idxd devices Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 24/25] raw/ioat: clean up use of common test function Bruce Richardson 2020-09-28 16:42 ` [dpdk-dev] [PATCH v4 25/25] raw/ioat: add fill operation Bruce Richardson 2020-10-02 14:07 ` [dpdk-dev] [PATCH v4 00/25] raw/ioat: enhancements and new hardware support Nicolau, Radu 2020-10-06 21:10 ` Thomas Monjalon 2020-10-07 9:46 ` Bruce Richardson 2020-10-07 16:29 ` [dpdk-dev] [PATCH v5 " Bruce Richardson 2020-10-07 16:29 ` [dpdk-dev] [PATCH v5 01/25] doc/api: add ioat driver to index Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 02/25] raw/ioat: fix missing close function Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 03/25] raw/ioat: enable use from C++ code Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 04/25] raw/ioat: include extra info in error messages Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 05/25] raw/ioat: add a flag to control copying handle parameters Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 06/25] raw/ioat: split header for readability Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 07/25] raw/ioat: rename functions to be operation-agnostic Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 08/25] raw/ioat: add separate API for fence call Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 09/25] raw/ioat: make the HW register spec private Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 10/25] usertools/dpdk-devbind.py: add support for DSA HW Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 11/25] raw/ioat: add skeleton for VFIO/UIO based DSA device Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 12/25] raw/ioat: add vdev probe for DSA/idxd devices Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 13/25] raw/ioat: include example configuration script Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 14/25] raw/ioat: create rawdev instances on idxd PCI probe Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 15/25] raw/ioat: create rawdev instances for idxd vdevs Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 16/25] raw/ioat: add datapath data structures for idxd devices Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 17/25] raw/ioat: add configure function " Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 18/25] raw/ioat: add start and stop functions " Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 19/25] raw/ioat: add data path " Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 20/25] raw/ioat: add info function " Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 21/25] raw/ioat: create separate statistics structure Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 22/25] raw/ioat: move xstats functions to common file Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 23/25] raw/ioat: add xstats tracking for idxd devices Bruce Richardson 2020-10-07 16:30 ` [dpdk-dev] [PATCH v5 24/25] raw/ioat: clean up use of common test function Bruce Richardson 2020-10-07 16:30 ` Bruce Richardson [this message] 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 00/25] raw/ioat: enhancements and new hardware support Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 01/25] doc/api: add ioat driver to index Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 02/25] raw/ioat: fix missing close function Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 03/25] raw/ioat: enable use from C++ code Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 04/25] raw/ioat: include extra info in error messages Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 05/25] raw/ioat: add a flag to control copying handle parameters Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 06/25] raw/ioat: split header for readability Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 07/25] raw/ioat: rename functions to be operation-agnostic Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 08/25] raw/ioat: add separate API for fence call Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 09/25] raw/ioat: make the HW register spec private Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 10/25] usertools/dpdk-devbind.py: add support for DSA HW Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 11/25] raw/ioat: add skeleton for VFIO/UIO based DSA device Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 12/25] raw/ioat: add vdev probe for DSA/idxd devices Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 13/25] raw/ioat: include example configuration script Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 14/25] raw/ioat: create rawdev instances on idxd PCI probe Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 15/25] raw/ioat: create rawdev instances for idxd vdevs Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 16/25] raw/ioat: add datapath data structures for idxd devices Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 17/25] raw/ioat: add configure function " Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 18/25] raw/ioat: add start and stop functions " Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 19/25] raw/ioat: add data path " Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 20/25] raw/ioat: add info function " Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 21/25] raw/ioat: create separate statistics structure Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 22/25] raw/ioat: move xstats functions to common file Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 23/25] raw/ioat: add xstats tracking for idxd devices Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 24/25] raw/ioat: clean up use of common test function Bruce Richardson 2020-10-08 9:51 ` [dpdk-dev] [PATCH v6 25/25] raw/ioat: add fill operation Bruce Richardson 2020-10-08 12:32 ` [dpdk-dev] [PATCH v6 00/25] raw/ioat: enhancements and new hardware support Thomas Monjalon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201007163023.2817-26-bruce.richardson@intel.com \ --to=bruce.richardson@intel.com \ --cc=dev@dpdk.org \ --cc=kevin.laatz@intel.com \ --cc=patrick.fu@intel.com \ --cc=radu.nicolau@intel.com \ --cc=thomas@monjalon.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git