[PATCH v4] examples: add eventdev_producer_consumer example

2022-08-22 Thread Timothy McDaniel
eventdev_pipeline app. Signed-off-by: Timothy McDaniel --- V4: Fixed a coding style issue V3: Fixed style and format issues, primarily those involving data types whose size varies depending on whether we are building for 32 or 64 bit platforms. V2: Disregard - forgot to resubmit entire patch

[PATCH v3] examples: add eventdev_producer_consumer example

2022-08-22 Thread Timothy McDaniel
eventdev_pipeline app. Signed-off-by: Timothy McDaniel --- V3: Fixed style and format issues, primarily those involving data types whose size varies depending on whether we are building for 32 or 64 bit platforms. V2: Disregard - forgot to resubmit entire patch --- --- examples/eventdev_producer_consumer

[PATCH v2] examples/eventdev_producer_consumer: fix 32-bit checkpatch issues

2022-08-22 Thread Timothy McDaniel
Fixed style and format issues, primarily those involving data types whose size varies depending on whether we are building for 32 or 64 bit platforms. Signed-off-by: Timothy McDaniel --- examples/eventdev_producer_consumer/main.c | 18 +- 1 file changed, 9 insertions(+), 9

[PATCH 3/3] event/dlb2: optimize credit allocations

2022-08-19 Thread Timothy McDaniel
value to reduce number of credit calls they make. Workers can use small quanta as they mostly work out of locally cached credits and don't request/return credits often. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 19 ++- 1 file changed, 18 insertions(+), 1 del

[PATCH 2/3] event/dlb2: add fence bypass option for producer ports

2022-08-19 Thread Timothy McDaniel
buffers or buffer headers OR producer is not writing to data structures with dependencies on the enqueue write order, then fencing can be safely disabled. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 31 +++ 1 file changed, 23 insertions(+), 8 deletions

[PATCH 1/3] event/dlb2: add producer port probing optimization

2022-08-19 Thread Timothy McDaniel
atency. To address this, probing is done for LDB ports as well. Probing is done on ports per 'cos'. When default cos is used, ports will be allocated from best ports from the best 'cos', else from best ports of the specific cos. Signed-off-by: Timothy McDaniel

[PATCH 0/3] DLB2 Performance Optimizations

2022-08-19 Thread Timothy McDaniel
303 ("eal: make eal_parse_coremask external") Timothy McDaniel (3): event/dlb2: add producer port probing optimization event/dlb2: add fence bypass option for producer ports event/dlb2: optimize credit allocations drivers/event/dlb2/dlb2.c | 90 +++- drive

[PATCH] eal: make eal_parse_coremask external

2022-08-19 Thread Timothy McDaniel
DLB2 has a need to parse a user supplied coremask as part of an optimization that associates optimal core/resource pairs. Therefore eal_parse_coremask has been renamed to rte_eal_parse_coremask and exported. Signed-off-by: Timothy McDaniel --- lib/eal/common/eal_common_options.c | 6

[PATCH] examples: add eventdev_producer_consumer example

2022-08-18 Thread Timothy McDaniel
eventdev_pipeline app. Signed-off-by: Timothy McDaniel --- examples/eventdev_producer_consumer/Makefile | 22 + examples/eventdev_producer_consumer/main.c| 670 ++ .../eventdev_producer_consumer/meson.build| 13 + examples/meson.build | 1 + 4 files

[PATCH v2 2/2] event/dlb2: improve cq_weight error messages

2022-07-06 Thread Timothy McDaniel
This commit changes 2 error messages to better describe cq_weight related errors, should one occur. Fixes: ffa46fc4a2b5 ("event/dlb2: support CQ weight") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 4 ++-- drivers/event/dl

[PATCH v2 1/2] event/dlb2: fix cq_weight array overflow

2022-07-06 Thread Timothy McDaniel
;) Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 4 ++-- drivers/event/dlb2/dlb2_priv.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index 26af75beb8..93bf215762 100644 --- a/dri

[PATCH v2 0/2] DLB2: cq_weight fixes

2022-07-06 Thread Timothy McDaniel
This patch series contains the following: - fix coverity issue 379234 - improve error reporting for cq_weight feature Changes since V1 - fixed a repeated word in the commit message of patch 1 Timothy McDaniel (2): event/dlb2: fix cq_weight array overflow event/dlb2: improve cq_weight error

[PATCH 2/2] event/dlb2: improve cq_weight error messages

2022-07-06 Thread Timothy McDaniel
This commit changes 2 error messages to better describe cq_weight related errors, should one occur. Fixes: ffa46fc4a2b5 ("event/dlb2: support CQ weight") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 4 ++-- drivers/event/dl

[PATCH 1/2] event/dlb2: fix cq_weight array overflow

2022-07-06 Thread Timothy McDaniel
;) Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 4 ++-- drivers/event/dlb2/dlb2_priv.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index 26af75beb8..93bf215762 100644 ---

[PATCH 0/2] DLB2: cq_weight fixes

2022-07-06 Thread Timothy McDaniel
This patch series contains the following: - fix coverity issue 379234 - improve error reporting for cq_weight feature Timothy McDaniel (2): event/dlb2: fix cq_weight array overflow event/dlb2: improve cq_weight error messages drivers/event/dlb2/dlb2.c | 8 drivers

[PATCH] doc: update DLB2 documentation

2022-07-02 Thread Timothy McDaniel
This commit updates the dlb2.rst eventdev guide to document the new DLB2 features that were added to dpdk 22.07. 1) CQ Weight 2) Port COS 3) Maximum CQ depth 4) Maximum enqueue depth Signed-off-by: Timothy McDaniel --- doc/guides/eventdevs/dlb2.rst | 67 --- 1

[PATCH v3 5/5] event/dlb2: fix port COS initialization

2022-07-02 Thread Timothy McDaniel
equal to 100. Corrected probe-time initialization order. Fixes: bec8901bfe9f ("event/dlb2: support ldb port specific COS") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 63 -- drivers/event/dl

[PATCH v3 4/5] event/dlb2: fix cq depth override credit deadlock

2022-07-02 Thread Timothy McDaniel
CQ depth is increased. Fixes: 86fe66d45667 ("event/dlb2: allow CQ depths up to 1024") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 51 + drivers/event/dlb2/dlb2_priv.h | 8 +- drivers/eve

[PATCH v3 3/5] event/dlb2: fix cq depth override

2022-07-02 Thread Timothy McDaniel
") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index a6182a1ac7..b50cd8e5ce 100644 --- a/drivers/event/dlb2/dl

[PATCH v3 2/5] event/dlb2: fix initialization of cos bandwidth args

2022-07-02 Thread Timothy McDaniel
This commit fixes a typo and resultant bug that triggered a coverity warning. Coverity issue: 4607286 Fixes: bec8901bfe9f ("event/dlb2: support ldb port specific COS") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 2 +- 1 file

[PATCH v3 1/5] event/dlb2: fix port_cos array sizing

2022-07-02 Thread Timothy McDaniel
ned-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/event/dlb2/dlb2_priv.h b/drivers/event/dlb2/dlb2_priv.h index 528e2ede61..8744efa79d 100644 --- a/drivers/event/dlb2/dlb2_priv.h +++ b/drivers/event/dlb2/d

[PATCH v3 0/5] DLB2 Bug Fixes

2022-07-02 Thread Timothy McDaniel
fix port COS initialization Original Patchset = 0001 fix port_cos array sizin - Fixes a segfault 0002 fix initialization of cos bandwidth args - Fixes a coverity warning Timothy McDaniel (5): event/dlb2: fix port_cos array sizing event/dlb2: fix initialization of cos

[PATCH v2 5/5] event/dlb2: fix port COS initialization

2022-07-02 Thread Timothy McDaniel
equal to 100. Corrected probe-time initalization order. Fixes: bec8901bfe9f ("event/dlb2: support ldb port specific COS") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 63 -- drivers/event/dl

[PATCH v2 4/5] event/dlb2: fix cq depth override credit deadlock

2022-07-02 Thread Timothy McDaniel
CQ depth is increased. Fixes: 86fe66d45667 ("event/dlb2: allow CQ depths up to 1024") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 51 + drivers/event/dlb2/dlb2_priv.h | 8 +- drivers/eve

[PATCH v2 3/5] event/dlb2: fix cq depth override

2022-07-02 Thread Timothy McDaniel
") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index a6182a1ac7..b50cd8e5ce 100644 --- a/drivers/event/dlb2/dl

[PATCH v2 2/5] event/dlb2: fix initialization of cos bandwidth args

2022-07-02 Thread Timothy McDaniel
This commit fixes a typo and resultant bug that triggered a coverity warning. Coverity issue: 4607286 Fixes: bec8901bfe9f ("event/dlb2: support ldb port specific COS") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 2 +- 1 file

[PATCH v2 1/5] event/dlb2: fix port_cos array sizing

2022-07-02 Thread Timothy McDaniel
ned-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/event/dlb2/dlb2_priv.h b/drivers/event/dlb2/dlb2_priv.h index 528e2ede61..8744efa79d 100644 --- a/drivers/event/dlb2/dlb2_priv.h +++ b/drivers/event/dlb2/d

[PATCH v2 0/5] DLB2 Bug Fixes

2022-07-02 Thread Timothy McDaniel
array sizin - Fixes a segfault 0002 fix initialization of cos bandwidth args - Fixes a coverity warning Timothy McDaniel (5): event/dlb2: fix port_cos array sizing event/dlb2: fix initialization of cos bandwidth args event/dlb2: fix cq depth override event/dlb2: fix cq depth override

[PATCH 2/2] event/dlb2: Fix initialization of cos bandwidth args

2022-06-29 Thread Timothy McDaniel
This commit fixes a typo and resultant bug that triggered a coverity warning. Coverity issue: 4607286 Fixes: bec8901bfe9f ("event/dlb2: support ldb port specific COS") Cc: timothy.mcdan...@intel.com Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 2 +- 1 file

[PATCH 1/2] event/dlb2: fix port_cos array sizing

2022-06-29 Thread Timothy McDaniel
ned-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/event/dlb2/dlb2_priv.h b/drivers/event/dlb2/dlb2_priv.h index 528e2ede61..8744efa79d 100644 --- a/drivers/event/dlb2/dlb2_priv.h +++ b/drivers/event/dlb2/d

[PATCH 0/2] DLB2 Bug Fixes

2022-06-29 Thread Timothy McDaniel
This patch series fixes a coverity bug and a segfault. Timothy McDaniel (2): event/dlb2: fix port_cos array sizing event/dlb2: Fix initialization of cos bandwidth args drivers/event/dlb2/dlb2.c | 2 +- drivers/event/dlb2/dlb2_priv.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions

[PATCH v4 2/2] event/dlb2: add ldb port specific COS support

2022-06-16 Thread Timothy McDaniel
bandwidth associated with the 4 classes must not exceed 100%. This feature is enabled on the command line, and will be documented in the DLB2 programmers guide. Signed-off-by: Timothy McDaniel --- V4: Fixed a build error on CentOS79-64 V3: fixed a typo/bug that caused us to read beyond the end of an

[PATCH v4 1/2] event/dlb2: add CQ weight support

2022-06-16 Thread Timothy McDaniel
nough QEs from the CQ to reverse that). CQ weight support is enabled via the command line, and applies to DLB 2.5 (and above) load balanced ports. The DLB2 documentation will be updated with further details. Signed-off-by: Timothy McDaniel --- V4: Fix a ler detected guard error on a debu

[PATCH v4 0/2] Rebase DLB2 port_cos and cq_weight patches

2022-06-16 Thread Timothy McDaniel
) Changes since V1: Fixed a bug in the port-specific cos patch where we were accessing beyond the end of the cos_bw array. Timothy McDaniel (2): event/dlb2: add CQ weight support event/dlb2: add ldb port specific COS support drivers/event/dlb2/dlb2.c | 325

[PATCH v3 2/2] event/dlb2: add ldb port specific COS support

2022-06-16 Thread Timothy McDaniel
bandwidth associated with the 4 classes must not exceed 100%. This feature is enabled on the command line, and will be documented in the DLB2 programmers guide. Signed-off-by: Timothy McDaniel --- V3: fixed a typo/bug that caused us to read beyond the end of an array V2: Rebased against dpdk-next

[PATCH v3 1/2] event/dlb2: add CQ weight support

2022-06-16 Thread Timothy McDaniel
nough QEs from the CQ to reverse that). CQ weight support is enabled via the command line, and applies to DLB 2.5 (and above) load balanced ports. The DLB2 documentation will be updated with further details. Signed-off-by: Timothy McDaniel --- V4: Fix a ler detected guard error on a debu

[PATCH v3 0/2] Rebase DLB2 port_cos and cq_weight patches

2022-06-16 Thread Timothy McDaniel
were accessing beyond the end of the cos_bw array. Timothy McDaniel (2): event/dlb2: add CQ weight support event/dlb2: add ldb port specific COS support drivers/event/dlb2/dlb2.c | 323 - drivers/event/dlb2/dlb2_avx512.c | 8 + drivers/event

[PATCH v2 2/2] event/dlb2: add ldb port specific COS support

2022-06-16 Thread Timothy McDaniel
bandwidth associated with the 4 classes must not exceed 100%. This feature is enabled on the command line, and will be documented in the DLB2 programmers guide. Signed-off-by: Timothy McDaniel --- V3: fixed a typo/bug that caused us to read beyond the end of an array V2: Rebased against dpdk-next

[PATCH v2 1/2] event/dlb2: add CQ weight support

2022-06-16 Thread Timothy McDaniel
nough QEs from the CQ to reverse that). CQ weight support is enabled via the command line, and applies to DLB 2.5 (and above) load balanced ports. The DLB2 documentation will be updated with further details. Signed-off-by: Timothy McDaniel --- V3: Rebased against dpdk-next-eventdev V2: Added

[PATCH v2 0/2] Rebase DLB2 port_cos and cq_weight patches

2022-06-16 Thread Timothy McDaniel
. Changes since V1: Fixed a bug in the port-specific cos patch where we were accessing beyond the end of the cos_bw array. Timothy McDaniel (2): event/dlb2: add CQ weight support event/dlb2: add ldb port specific COS support drivers/event/dlb2/dlb2.c | 323

[PATCH 2/2] event/dlb2: add ldb port specific COS support

2022-06-16 Thread Timothy McDaniel
bandwidth associated with the 4 classes must not exceed 100%. This feature is enabled on the command line, and will be documented in the DLB2 programmers guide. Signed-off-by: Timothy McDaniel --- V2: Rebased against dpdk-next-eventdev --- drivers/event/dlb2/dlb2.c | 224

[PATCH 1/2] event/dlb2: add CQ weight support

2022-06-16 Thread Timothy McDaniel
nough QEs from the CQ to reverse that). CQ weight support is enabled via the command line, and applies to DLB 2.5 (and above) load balanced ports. The DLB2 documentation will be updated with further details. Signed-off-by: Timothy McDaniel --- V3: Rebased against dpdk-next-eventdev V2: Added

[PATCH 0/2] Rebase DLB2 port_cos and cq_weight patches

2022-06-16 Thread Timothy McDaniel
This patch simply rebases the following previously submitted patches against the latest dpdk-next-eventdev (for-main) branch. Timothy McDaniel (2): event/dlb2: add CQ weight support event/dlb2: add ldb port specific COS support drivers/event/dlb2/dlb2.c | 323

[PATCH v9] event/dlb2: add support for single 512B write of 4 QEs

2022-06-13 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V8: 1) Removed compile time control of AVX512 enablement 2) Fixed copyright year in all updated and

[PATCH v3] event/dlb2: fix advertized capabilities

2022-06-13 Thread Timothy McDaniel
Finally, the file doc/guides/eventdevs/features/dlb2.ini has been updated to match the capabilities actually reported by the PMD. Fixes: e7c9971a857a ("event/dlb2: add probe-time hardware init") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel === Changes since V2: Added "f

[PATCH v2] event/dlb2: fix advertized capabilities

2022-06-10 Thread Timothy McDaniel
Finally, the file doc/guides/eventdevs/features/dlb2.ini has been updated to match the capabilities actually reported by the PMD. Signed-off-by: Timothy McDaniel === Changes since V1; 1) reorder capabilities flags to match the order that they appear in in the default.ini file 2) update the dlb2

[PATCH v8] event/dlb2: add support for single 512B write of 4 QEs

2022-06-10 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V7: Fixed whitespace issue in meson.build Changes since V6: 1) Check for AVX512VL only, removing

[PATCH v7] event/dlb2: add support for single 512B write of 4 QEs

2022-06-10 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V6: 1) Check for AVX512VL only, removing checks for other AVX512 flags in meson.build 2) rename

[PATCH v6] event/dlb2: add support for single 512B write of 4 QEs

2022-06-10 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V5: No code changes - just added --in-reply-to and copied Bruce Changes since V4: 1) Add build-time

[PATCH v5] event/dlb2: add support for single 512B write of 4 QEs

2022-06-10 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V4: 1) Add build-time control for avx512 support to meson.buildi, based on implementation found in

[PATCH] event/dlb2: rework queue drain handling

2022-06-06 Thread Timothy McDaniel
: 1857f1922ce2 ("event/dlb2: use new implementation of resource file") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_hw_types.h | 2 +- drivers/event/dlb2/pf/base/dlb2_resource.c | 45 +- 2 files changed, 37 insertions(+), 10 deletion

[PATCH] event/dlb2: fix QID inflight exploit

2022-06-06 Thread Timothy McDaniel
If QID inflights is set to an invalid value it can cause the PMD to hang. This commit adds checks to make sure that the value is valid before programming the hardware. Fixes: 1857f1922ce2 ("event/dlb2: use new implementation of resource file") Cc: sta...@dpdk.org Signed-off-by: Timoth

[PATCH] event/dlb2: fix advertized capabilities

2022-06-06 Thread Timothy McDaniel
1) Remove RTE_EVENT_DEV_CAP_QUEUE_QOS. DLB/DLB2 do not support queue priority 2) Add RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT 3) Add RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK Fixes: e7c9971a857a ("event/dlb2: add probe-time hardware init") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --

[PATCH] event/dlb2: improve enqueue efficiency

2022-06-06 Thread Timothy McDaniel
try count = Max enqueue depth / credit quanta in driver before returning no credit. Fixes: 3a6d0c04e7fb ("event/dlb2: add port setup") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 78 +- drivers/event/dlb2/dlb

[PATCH] event/dlb2: improve enqueue efficiency

2022-06-06 Thread Timothy McDaniel
try count = Max enqueue depth / credit quanta in driver before returning no credit. Fixes: 3a6d0c04e7fb ("event/dlb2: add port setup") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 78 +- drivers/event/dlb2/dlb

[PATCH] event/dlb2: improve enqueue efficiency

2022-06-06 Thread Timothy McDaniel
try count = Max enqueue depth / credit quanta in driver before returning no credit. Fixes: 3a6d0c04e7fb ("event/dlb2: add port setup") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 78 +- drivers/event/dlb2/dlb

[PATCH v4] event/dlb2: add support for single 512B write of 4 QEs

2022-05-23 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V3: 1) Renamed dlb2_noavx512.c to dlb2_sve.c, and fixed up meson.build for new file name. Changes

[PATCH v3] event/dlb2: add support for single 512B write of 4 QEs

2022-05-19 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V1: 1) Split out dlb2_event_build_hcws into two implementations, one that uses AVX512 instructions

[PATCH v2] event/dlb2: add support for single 512B write of 4 QEs

2022-05-19 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel Acked-by: Kent Wires === Changes since V1: 1) Split out dlb2_event_build_hcws into two implementations, one that uses AVX512 instructions

[PATCH] event/dlb2: add ldb port specific COS support

2022-04-10 Thread Timothy McDaniel
bandwidth associated with the 4 classes must not exceed 100%. This feature is enabled on the command line, and will be documented in the DLB2 programmers guide. Signed-off-by: Timothy McDaniel --- Depends-on: patch-109560 ("[v2] event/dlb2: add CQ weight support") --- drivers/event/d

[PATCH v2] event/dlb2: add CQ weight support

2022-04-10 Thread Timothy McDaniel
nough QEs from the CQ to reverse that). CQ weight support is enabled via the command line, and applies to DLB 2.5 (and above) load balanced ports. The DLB2 documentation will be updated with further details. Signed-off-by: Timothy McDaniel --- Depends-on: patch-109544("event/dlb2: add s

[PATCH] event/dlb2: add CQ weight support

2022-04-09 Thread Timothy McDaniel
nough QEs from the CQ to reverse that). CQ weight support is enabled via the command line, and applies to DLB 2.5 (and above) load balanced ports. The DLB2 documentation will be updated with further details. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c

[PATCH] app/eventdev_dump: introduce eventdev_dump application

2022-04-09 Thread Timothy McDaniel
The eventdev_dump application provides an easy way to query and display xstats and pmd dump data. It should work with all eventdevs. See the help usage for the full set of supported queries. Signed-off-by: Timothy McDaniel --- app/eventdev_dump/main.c | 284

[PATCH] event/dlb2: add support for single 512B write of 4 QEs

2022-04-09 Thread Timothy McDaniel
add change when code is built for Xeon with 512b AVX support to make single 512b write of all 4 QEs instead of 4x64b writes. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 86 ++- 1 file changed, 67 insertions(+), 19 deletions(-) diff --git a

[PATCH] event/dlb2: allow CQ depths up to 1024

2022-04-09 Thread Timothy McDaniel
. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 57 ++--- drivers/event/dlb2/dlb2_priv.h | 10 -- drivers/event/dlb2/pf/dlb2_pf.c | 3 +- 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event

[PATCH] event/dlb2: fix invalid shift value

2022-03-02 Thread Timothy McDaniel
Add a check to ensure that all shift counts are valid. Shifting by more than 63 bits may result in undefined behavior, as noted during coverity scan. Fixes: e697f35dbdd1 ("event/dlb2: update rolling mask used for dequeue") Coverity issue: 376527 Signed-off-by: Timothy McDaniel --

[PATCH 2/2] event/dlb2: poll HW CQ inflights before mapping queue

2022-02-16 Thread Timothy McDaniel
in a suitable amount of time. Fixes: 1857f1922ce2 ("event/dlb2: use new implementation of resource file") Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c | 23 ++ 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/drivers/

[PATCH 1/2] event/dlb2: update rolling mask used for dequeue

2022-02-16 Thread Timothy McDaniel
Update the rolling mask used in dequeue operations. Fixes vector optimized dequeue. Fixes: 000a7b8e7582 ("event/dlb2: optimize dequeue operation") Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 28 +--- 1 file changed, 21 insertions(+), 7

[dpdk-dev] [PATCH v2] doc: fix devarg references in DLB2 guide

2021-05-20 Thread Timothy McDaniel
Convert to PCI "--allow" devarg format. The documentation was previously using the "--vdev" form, which cannot be used with the DLB2 PF PMD. Fixes: 166378a79412 ("event/dlb2: add documentation and build infrastructure") Cc: sta...@dpdk.org Signed-off-by: Timothy Mc

[dpdk-dev] [PATCH v2] event/dlb2: make scalar mode dequeue the default

2021-05-20 Thread Timothy McDaniel
quot;event/dlb2: optimize dequeue operation") Signed-off-by: Timothy McDaniel --- Cc: timothy.mcdan...@intel.com --- doc/guides/eventdevs/dlb2.rst | 13 + drivers/event/dlb2/dlb2.c | 24 drivers/event/dlb2/dlb2_priv.h | 6 +++--- 3 files changed,

[dpdk-dev] [PATCH] event/dlb2: make scalar mode dequeue the default

2021-05-20 Thread Timothy McDaniel
quot;event/dlb2: optimize dequeue operation") Signed-off-by: Timothy McDaniel --- Cc: timothy.mcdan...@intel.com --- doc/guides/eventdevs/dlb2.rst | 13 + drivers/event/dlb2/dlb2.c | 24 drivers/event/dlb2/dlb2_priv.h | 6 +++--- 3 files changed,

[dpdk-dev] [PATCH] doc: fix devarg references in DLB2 guide

2021-05-20 Thread Timothy McDaniel
Convert to PCI "--allow" devarg format. The documentation was previously using the "--vdev" form, which cannot be used with the DLB2 PF PMD. Fixes: 166378a79412 ("event/dlb2: add documentation and build infrastructure") Cc: sta...@dpdk.org Signed-off-by: Timothy Mc

[dpdk-dev] [PATCH] event/dlb2: remove references to deferred scheduling

2021-05-20 Thread Timothy McDaniel
Deferred scheduling is a DLB v1.0 feature, and is not valid for DLB v2.0 or v2.5. Fixes: a3c8a44634e3 ("event/dlb2: remove useless code") Cc: sta...@dpdk.org Signed-off-by: Timothy McDaniel --- Cc: timothy.mcdan...@intel.com --- doc/guides/eventdevs/dlb2

[dpdk-dev] [PATCH] event/dlb2: fix extraction of HW scheduling type

2021-05-20 Thread Timothy McDaniel
The HW scheduling type was not being extracted properly in the vector optimizaed dequeue path. It was also not being recorded in the xstats. Fixes: 000a7b8e7582 ("event/dlb2: optimize dequeue operation") Signed-off-by: Timothy McDaniel --- Cc: timothy.mcdan...@intel.com --- drivers/

[dpdk-dev] [PATCH] doc: fix guide for DLB v2.5

2021-05-15 Thread Timothy McDaniel
l.com Signed-off-by: Timothy McDaniel --- doc/guides/eventdevs/dlb2.rst | 54 +++ 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/doc/guides/eventdevs/dlb2.rst b/doc/guides/eventdevs/dlb2.rst index 31de6bc47..bce984ca0 100644 --- a/doc/guides/eventdev

[dpdk-dev] [PATCH v2 1/1] usertools/devbind: add dlb

2021-04-26 Thread Timothy McDaniel
Add dlb to usertools/dpdk-devbind.py so that it shows up as an eventdev, and is identified as Intel dlb. Signed-off-by: Timothy McDaniel --- usertools/dpdk-devbind.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py

[dpdk-dev] [PATCH] usertools/devbind: add dlb

2021-04-21 Thread Timothy McDaniel
Add dlb to usertools/dpdk-devbind.py so that it shows up as an eventdev, and is identified as Intel dlb. Signed-off-by: Timothy McDaniel --- usertools/dpdk-devbind.py |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py

[dpdk-dev] [PATCH v4 27/27] event/dlb: move rte config defines to runtime devargs

2021-04-14 Thread Timothy McDaniel
The new devarg names and their default values are listed below. The defaults have not changed, and none of these parameters are accessed in the fast path. poll_interval=1000 sw_credit_quantai=32 default_depth_thresh=256 Signed-off-by: Timothy McDaniel --- config/rte_config.h| 3

[dpdk-dev] [PATCH v4 26/27] event/dlb: rename dlb2 driver

2021-04-14 Thread Timothy McDaniel
APIs. Updated 20.11 release notes to reference dlb rst file, and not dlb2 rst file, since it was renamed to match the device name as part of this patch. Signed-off-by: Timothy McDaniel --- MAINTAINERS | 6 +- app/test/test_eventdev.c | 6

[dpdk-dev] [PATCH v4 25/27] doc/dlb2: update documentation for v2.5

2021-04-14 Thread Timothy McDaniel
Update the dlb documentation for v2.5. Notable differences include the new cobined credit scheme. Also cleaned up a couple of sections, and removed a duplicate section. Signed-off-by: Timothy McDaniel --- doc/guides/eventdevs/dlb2.rst | 75 +-- 1 file changed, 27

[dpdk-dev] [PATCH v4 24/27] event/dlb2: update xstats for v2.5

2021-04-14 Thread Timothy McDaniel
Add DLB v2.5 specific information to xstats, such as metrics for the new credit scheme. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2_xstats.c | 41 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/drivers/event/dlb2/dlb2_xstats.c b

[dpdk-dev] [PATCH v4 22/27] event/dlb2: use new implementation of HW types header

2021-04-14 Thread Timothy McDaniel
safe to remove the old (original) file, as well as the DLB2_USE_NEW_HEADERS define that was used to control which version of the file was to be included in certain source files. It is now safe to rename the new file, and use it unconditionally in all DLB source files. Signed-off-by: Timothy McDaniel

[dpdk-dev] [PATCH v4 20/27] event/dlb2: use new implementation of resource header

2021-04-14 Thread Timothy McDaniel
A temporary version of dlb_resource.h (dlb_resource_new.h) was used by the previous commits in this patch series. Merge the two files now that DLB v2.5 support has been fully added to dlb_resource.c. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_osdep.h | 2

[dpdk-dev] [PATCH v4 19/27] event/dlb2: add v2.5 sequence number management

2021-04-14 Thread Timothy McDaniel
for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base

[dpdk-dev] [PATCH v4 18/27] event/dlb2: add v2.5 sparse cq mode

2021-04-14 Thread Timothy McDaniel
register access macros are used so that the code can perform the correct action, based on the hardware. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 22 --- .../event/dlb2/pf/base/dlb2_resource_new.c| 39 +++ 2 files changed, 39

[dpdk-dev] [PATCH v4 17/27] event/dlb2: add v2.5 finish map/unmap

2021-04-14 Thread Timothy McDaniel
register access macros are used so that the code can perform the correct action, based on the hardware. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 1054 - .../event/dlb2/pf/base/dlb2_resource_new.c| 50 + 2 files changed, 50 insertions

[dpdk-dev] [PATCH v4 16/27] event/dlb2: add v2.5 queue depth functions

2021-04-14 Thread Timothy McDaniel
access macros are used so that the code can perform the correct action, based on the hardware. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 160 -- .../event/dlb2/pf/base/dlb2_resource_new.c| 135 +++ 2 files changed, 135

[dpdk-dev] [PATCH v4 15/27] event/dlb2: add v2.5 credit scheme

2021-04-14 Thread Timothy McDaniel
DLB v2.5 uses a different credit scheme than was used in DLB v2.0 . Specifically, there is a single credit pool for both load balanced and directed traffic, instead of a separate pool for each as is found with DLB v2.0. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 311

[dpdk-dev] [PATCH v4 13/27] event/dlb2: add v2.5 unmap queue

2021-04-14 Thread Timothy McDaniel
to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2

[dpdk-dev] [PATCH v4 14/27] event/dlb2: add v2.5 start domain

2021-04-14 Thread Timothy McDaniel
, based on the hardware. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 123 - .../event/dlb2/pf/base/dlb2_resource_new.c| 130 ++ 2 files changed, 130 insertions(+), 123 deletions(-) diff --git a/drivers/event/dlb2/pf/base

[dpdk-dev] [PATCH v4 12/27] event/dlb2: add v2.5 map qid

2021-04-14 Thread Timothy McDaniel
v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2

[dpdk-dev] [PATCH v4 11/27] event/dlb2: add v2.5 create dir queue

2021-04-14 Thread Timothy McDaniel
uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 213

[dpdk-dev] [PATCH v4 09/27] event/dlb2: add v2.5 create ldb port

2021-04-14 Thread Timothy McDaniel
v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 490

[dpdk-dev] [PATCH v4 10/27] event/dlb2: add v2.5 create dir port

2021-04-14 Thread Timothy McDaniel
register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c

[dpdk-dev] [PATCH v4 07/27] event/dlb2: add v2.5 domain reset

2021-04-14 Thread Timothy McDaniel
register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5. Signed-off-by: Timothy McDaniel --- .../event/dlb2/pf/base/dlb2_hw_types_new.h|1 + drivers/event/dlb2/pf/base/dlb2_resource.c| 1494 -- .../event/dlb2

[dpdk-dev] [PATCH v4 08/27] event/dlb2: add v2.5 create ldb queue

2021-04-14 Thread Timothy McDaniel
map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action based on the hardware version, v2.0 or v2.5. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/pf/base/dlb2_resource.c| 397

[dpdk-dev] [PATCH v4 06/27] event/dlb2: add v2.5 create sched domain

2021-04-14 Thread Timothy McDaniel
Update domain creation logic to account for DLB v2.5 credit scheme, new register map, and new register access macros. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2_user.h| 13 +- drivers/event/dlb2/pf/base/dlb2_resource.c| 645 .../event/dlb2

[dpdk-dev] [PATCH v4 04/27] event/dlb2: add v2.5 HW init

2021-04-14 Thread Timothy McDaniel
ll have the logic needed to implement a single PMD that supports both DLB v2.0 and DLB v2.5. At that time, the original DLB v2.0 specific files will be deleted, and the "new" files will be renamed and replace them. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2_p

[dpdk-dev] [PATCH v4 05/27] event/dlb2: add v2.5 get resources

2021-04-14 Thread Timothy McDaniel
DLB v2.5 uses a new credit scheme, where directed and load balanced credits are unified, instead of having separate directed and load balanced credit pools. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 20 -- drivers/event/dlb2/dlb2_user.h

[dpdk-dev] [PATCH v4 02/27] event/dlb2: add v2.5 probe

2021-04-14 Thread Timothy McDaniel
This commit adds dlb v2.5 probe support, and updates parameter parsing. The dlb v2.5 device differs from dlb v2, in that the number of resources (ports, queues, ...) is different, so macros have been added to take the device version into account. Signed-off-by: Timothy McDaniel --- drivers

  1   2   3   4   5   6   7   8   >