[dpdk-dev] [PATCH v5 5/5] doc: change references to blacklist and whitelist

2020-10-23 Thread Stephen Hemminger
There are two areas where documentation needed update. The first was use of whitelist when describing address filtering. The other is the legacy -w whitelist option for PCI which is used in many examples Signed-off-by: Stephen Hemminger Acked-by: Luca Boccassi --- doc/guides/cryptodevs/dpaa2_s

[dpdk-dev] [PATCH v5 3/5] eal: replace pci-whitelist/pci-blacklist options

2020-10-23 Thread Stephen Hemminger
Replace -w / --pci-whitelist with -a / --allow options and --pci-blacklist with --block. The -b short option remains unchanged. Allow the old options for now, but print a nag warning since old options are deprecated. Signed-off-by: Stephen Hemminger Acked-by: Luca Boccassi --- lib/librte_eal/c

[dpdk-dev] [PATCH v5 4/5] app/test: use new allowlist and blocklist

2020-10-23 Thread Stephen Hemminger
Test the renamed blocklist and allowlist arguments. Use new terms in test variable names as well. Signed-off-by: Stephen Hemminger Acked-by: Luca Boccassi --- app/test/autotest.py| 16 ++-- app/test/autotest_runner.py | 18 ++--- app/test/test.c | 2 +- app/

[dpdk-dev] [PATCH v5 1/5] eal: replace usage of blacklist/whitelist in enum

2020-10-23 Thread Stephen Hemminger
This patch renames the enum values in the EAL include files. As a backward compatible temporary migration tool, define a replacement mapping for old values. The old names relating to blacklist and whitelist are replaced by block list and allow list, but applications may be using the older compatib

[dpdk-dev] [PATCH v5 0/5] replace blacklist/whitelist with block/allow

2020-10-23 Thread Stephen Hemminger
This is a revised version of the earlier RFC patch set for changing the blacklist/whitelist terms in DPDK. The first patch is a duplicate from the other patch set about use of master/slave in API. Note: This may cause some warnings in existing programs in the CI tests using the -w flag. It also

[dpdk-dev] [PATCH v5 2/5] drivers: replace references to blacklist

2020-10-23 Thread Stephen Hemminger
Use the new terminology blocked to describe when devices are excluded from being used. Signed-off-by: Stephen Hemminger Acked-by: Luca Boccassi Acked-by: Hemant Agrawal --- drivers/bus/dpaa/dpaa_bus.c| 7 +++ drivers/bus/fslmc/fslmc_bus.c | 9 - drivers/bus/fslmc/fsl

[dpdk-dev] RTE pipeline table lookup miss with > 1 core

2020-10-23 Thread Alipour, Mehrdad
Hi, I am testing a pipeline application with two or more cores using dpdk 19.05. The application consists of: Core1: forever get packets from an Ethernet IF (using rte_eth_rx_burst) Inspect packet header such as EtherType, UDP desp_port, etc; determine application (say ap

[dpdk-dev] [PATCH v3] mbuf: fix dynamic flags lookup from secondary process

2020-10-23 Thread Stephen Hemminger
The dynamic flag management is broken if rte_mbuf_dynflag_lookup() is done in a secondary process because the local pointer to the memzone is not ever initialized. Fix it by using the same checks as dynfield_register(). I.e if shared memory zone has not been looked up already, then discover it. F

Re: [dpdk-dev] [PATCH v3 3/5] test/ring: move common function to header file

2020-10-23 Thread Honnappa Nagarahalli
> > static inline void* > > test_ring_inc_ptr(void *obj, int esize, unsigned int n) { > > int sz; > > > > sz = esize; > > /* Legacy queue APIs? */ > > if ((esize) == -1) > > Extra (paren) doesn't help readability either +1

Re: [dpdk-dev] [PATCH v3 3/5] test/ring: move common function to header file

2020-10-23 Thread Stephen Hemminger
On Fri, 23 Oct 2020 23:54:22 + Honnappa Nagarahalli wrote: > > > > > > > Move test_ring_inc_ptr to header file so that it can be used by > > > functions in other files. > > > > > > Signed-off-by: Honnappa Nagarahalli > > > Reviewed-by: Dharmik Thakkar > > > --- > > > app/test/test_rin

Re: [dpdk-dev] [PATCH v3 3/5] test/ring: move common function to header file

2020-10-23 Thread Honnappa Nagarahalli
> > > Move test_ring_inc_ptr to header file so that it can be used by > > functions in other files. > > > > Signed-off-by: Honnappa Nagarahalli > > Reviewed-by: Dharmik Thakkar > > --- > > app/test/test_ring.c | 11 --- app/test/test_ring.h | 11 > > +++ > > 2 files changed, 1

Re: [dpdk-dev] [PATCH 1/2] net/netvsc: allow setting rx and tx copy break

2020-10-23 Thread Long Li
> Subject: Re: [dpdk-dev] [PATCH 1/2] net/netvsc: allow setting rx and tx copy > break > > On 10/22/2020 8:46 PM, Long Li wrote: > > From: Stephen Hemminger > > > > The values for Rx and Tx copy break should be tunable rather than hard > > coded constants. > > > > The rx_copybreak sets the thresh

[dpdk-dev] [PATCH v5 6/7] app/bbdev: reduce duration of throughput test

2020-10-23 Thread Nicolas Chautru
Reducing number of repetitions from 1000 to 100 to save time. Results are accurate enough with 100 loops. Signed-off-by: Nicolas Chautru Acked-by: Liu Tianjiao --- app/test-bbdev/test_bbdev_perf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test-bbdev/test_bbdev_perf

[dpdk-dev] [PATCH v5 7/7] app/bbdev: update offload test to dequeue full ring

2020-10-23 Thread Nicolas Chautru
update offload dequeue to retrieve the full ring to be agnostic of implementation. Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/test-bbd

[dpdk-dev] [PATCH v5 4/7] app/bbdev: define wait for offload

2020-10-23 Thread Nicolas Chautru
Replacing magic number for default wait time for hw offload. Signed-off-by: Nicolas Chautru Acked-by: Liu Tianjiao --- app/test-bbdev/test_bbdev_perf.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.

[dpdk-dev] [PATCH v5 5/7] app/bbdev: skip bler ut when compression is used

2020-10-23 Thread Nicolas Chautru
bler test results are not valid when LLR compression is used or for loopback scenarios. Skipping these. Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app

[dpdk-dev] [PATCH v5 0/7] BBDEV test updates

2020-10-23 Thread Nicolas Chautru
v5: correcting typos again. Quite worrisome spelling disorder. v4: rebased on main latest v3: apologize again for typo and not double checking with check-git-log v2: typos missed in commit messages Serie updating and extending the app running the bbdev-test for the existing bbdev PMDs. Nicolas C

[dpdk-dev] [PATCH v5 3/7] app/bbdev: include explicit HARQ preloading

2020-10-23 Thread Nicolas Chautru
Run preloading explicitly for unit tests. Load each code block by reusing existing input op then restore for the actual test. Signed-off-by: Nicolas Chautru Acked-by: Liu Tianjiao --- app/test-bbdev/main.h| 1 + app/test-bbdev/test_bbdev_perf.c | 51 +---

[dpdk-dev] [PATCH v5 2/7] app/bbdev: add explicit check for counters

2020-10-23 Thread Nicolas Chautru
Adding explicit check in ut that the stats counters have the expect values. Was missing for coverage. Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 17 + 1 file changed, 17 insertions(+) diff --git a/app/tes

[dpdk-dev] [PATCH v5 1/7] app/bbdev: add explicit ut for latency vs validation

2020-10-23 Thread Nicolas Chautru
Adding explicit different ut when testing for validation or latency (early termination enabled or not). Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 92 ++-- 1 file changed, 88 insertions

[dpdk-dev] [PATCH v4 5/7] app/bbdev: skip bler ut when compression is used

2020-10-23 Thread Nicolas Chautru
bler test results are not valid when LLR compression is used or for loopback scenarios. Skipping these. Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app

[dpdk-dev] [PATCH v4 3/7] app/bbdev: include explict HARQ preloading

2020-10-23 Thread Nicolas Chautru
Run preloading explictly for unit tests. Load each code block by reusing existing input op then restore for the actual test. Signed-off-by: Nicolas Chautru Acked-by: Liu Tianjiao --- app/test-bbdev/main.h| 1 + app/test-bbdev/test_bbdev_perf.c | 51 +

[dpdk-dev] [PATCH v4 6/7] app/bbdev: reduce duration of throughput test

2020-10-23 Thread Nicolas Chautru
Reducing number of repetitions from 1000 to 100 to save time. Results are accurate enough with 100 loops. Signed-off-by: Nicolas Chautru Acked-by: Liu Tianjiao --- app/test-bbdev/test_bbdev_perf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test-bbdev/test_bbdev_perf

[dpdk-dev] [PATCH v4 7/7] app/bbdev: update offload test to dequeue full ring

2020-10-23 Thread Nicolas Chautru
update offload dequeue to retrieve the full ring to be agnostic of implementation. Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/test-bbd

[dpdk-dev] [PATCH v4 2/7] app/bbdev: add explicit check for counters

2020-10-23 Thread Nicolas Chautru
Adding explict check in ut that the stats counters have the expect values. Was missing for coverage. Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 17 + 1 file changed, 17 insertions(+) diff --git a/app/test

[dpdk-dev] [PATCH v4 4/7] app/bbdev: define wait for offload

2020-10-23 Thread Nicolas Chautru
Replacing magic number for default wait time for hw offload. Signed-off-by: Nicolas Chautru Acked-by: Liu Tianjiao --- app/test-bbdev/test_bbdev_perf.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.

[dpdk-dev] [PATCH v4 1/7] app/bbdev: add explicit ut for latency vs validation

2020-10-23 Thread Nicolas Chautru
Adding explicit different ut when testing for validation or latency (early termination enabled or not). Signed-off-by: Nicolas Chautru Acked-by: Aidan Goddard Acked-by: Dave Burley --- app/test-bbdev/test_bbdev_perf.c | 92 ++-- 1 file changed, 88 insertions

[dpdk-dev] [PATCH v4 0/7] BBDEV test updates

2020-10-23 Thread Nicolas Chautru
v4: rebased on main latest v3: apologize again for typo and not double checking with check-git-log v2: typos missed in commit messages Serie updating and extending the app running the bbdev-test for the existing bbdev PMDs. Nicolas Chautru (7): app/bbdev: add explicit ut for latency vs validati

[dpdk-dev] [PATCH v9 08/10] net/ice: implement power management API

2020-10-23 Thread Liang Ma
Implement support for the power management API by implementing a `get_wake_addr` function that will return an address of an RX ring's status bit. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev --- drivers/net/ice/ice_ethdev.c | 1 + drivers/net/ice/ice_rxt

[dpdk-dev] [PATCH v9 09/10] examples/l3fwd-power: enable PMD power mgmt

2020-10-23 Thread Liang Ma
Add PMD power management feature support to l3fwd-power sample app. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: David Hunt --- Notes: v8: - Add return status check for queue enable v6: - Fixed typos in documentation --- .../sample_app_ug/l3_forward_power_

[dpdk-dev] [PATCH v9 10/10] doc: update programmer's guide for power library

2020-10-23 Thread Liang Ma
Update programmer's guide to document PMD power management usage. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: David Hunt --- doc/guides/prog_guide/power_man.rst | 42 + 1 file changed, 42 insertions(+) diff --git a/doc/guides/prog_guide/power_m

[dpdk-dev] [PATCH v9 07/10] net/i40e: implement power management API

2020-10-23 Thread Liang Ma
Implement support for the power management API by implementing a `get_wake_addr` function that will return an address of an RX ring's status bit. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev Acked-by: Jeff Guo --- drivers/net/i40e/i40e_ethdev.c | 1 + d

[dpdk-dev] [PATCH v9 06/10] net/ixgbe: implement power management API

2020-10-23 Thread Liang Ma
Implement support for the power management API by implementing a `get_wake_addr` function that will return an address of an RX ring's status bit. Signed-off-by: Anatoly Burakov Signed-off-by: Liang Ma Acked-by: Konstantin Ananyev --- drivers/net/ixgbe/ixgbe_ethdev.c | 1 + drivers/net/ixgbe/i

[dpdk-dev] [PATCH v9 04/10] ethdev: add simple power management API

2020-10-23 Thread Liang Ma
Add a simple API to allow getting address of next RX descriptor from the PMD, as well as release notes information. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev --- Notes: v8: - Rename version map file name. v7: - Fixed queue ID validatio

[dpdk-dev] [PATCH v9 03/10] eal: add intrinsics support check infrastructure

2020-10-23 Thread Liang Ma
Currently, it is not possible to check support for intrinsics that are platform-specific, cannot be abstracted in a generic way, or do not have support on all architectures. The CPUID flags can be used to some extent, but they are only defined for their platform, while intrinsics will be available

[dpdk-dev] [PATCH v9 05/10] power: add PMD power management API and callback

2020-10-23 Thread Liang Ma
Add a simple on/off switch that will enable saving power when no packets are arriving. It is based on counting the number of empty polls and, when the number reaches a certain threshold, entering an architecture-defined optimized power state that will either wait until a TSC timestamp expires, or w

[dpdk-dev] [PATCH v9 02/10] eal: add power management intrinsics

2020-10-23 Thread Liang Ma
Add two new power management intrinsics, and provide an implementation in eal/x86 based on UMONITOR/UMWAIT instructions. The instructions are implemented as raw byte opcodes because there is not yet widespread compiler support for these instructions. The power management instructions provide an ar

[dpdk-dev] [PATCH v9 00/10] Add PMD power mgmt

2020-10-23 Thread Liang Ma
This patchset proposes a simple API for Ethernet drivers to cause the CPU to enter a power-optimized state while waiting for packets to arrive, along with a set of generic intrinsics that facilitate that. This is achieved through cooperation with the NIC driver that will allow us to know address of

[dpdk-dev] [PATCH v9 01/10] eal: add new x86 cpuid support for WAITPKG

2020-10-23 Thread Liang Ma
Add a new CPUID flag indicating processor support for UMONITOR/UMWAIT and TPAUSE instructions instruction. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev --- lib/librte_eal/x86/include/rte_cpuflags.h | 1 + lib/librte_eal/x86/rte_cpuflags.c | 2 ++

Re: [dpdk-dev] [PATCH v3 4/5] test/ring: add functional tests for zero copy APIs

2020-10-23 Thread Honnappa Nagarahalli
> > > > Add functional tests for zero copy APIs. Test enqueue/dequeue > > functions are created using the zero copy APIs to fit into the > > existing testing method. > > > > Signed-off-by: Honnappa Nagarahalli > > Reviewed-by: Dharmik Thakkar > > --- > > app/test/test_ring.c | 196 > >

Re: [dpdk-dev] [PATCH v6 4/4] test/hash: add tests for integrated RCU QSBR

2020-10-23 Thread Wang, Yipeng1
> -Original Message- > From: Dharmik Thakkar > Sent: Wednesday, October 21, 2020 3:50 PM > To: Wang, Yipeng1 ; Gobriel, Sameh > ; Richardson, Bruce > Cc: dev@dpdk.org; n...@arm.com; Dharmik Thakkar > > Subject: [PATCH v6 4/4] test/hash: add tests for integrated RCU QSBR > > Add function

Re: [dpdk-dev] [PATCH v6 2/4] lib/hash: integrate RCU QSBR

2020-10-23 Thread Wang, Yipeng1
> -Original Message- > From: Dharmik Thakkar > Sent: Wednesday, October 21, 2020 3:50 PM > To: Wang, Yipeng1 ; Gobriel, Sameh > ; Richardson, Bruce ; > Ray Kinsella ; Neil Horman > Cc: dev@dpdk.org; n...@arm.com; Dharmik Thakkar > > Subject: [PATCH v6 2/4] lib/hash: integrate RCU QSBR >

[dpdk-dev] [PATCH V2 2/2] net/netvsc: introduce driver parameter to control the use of external mbuf on receiving data

2020-10-23 Thread Long Li
From: Long Li When receiving packets, netvsp puts data in a buffer mapped through UIO. Depending on packet size, netvsc may attach the buffer as an external mbuf. This is not a problem if this mbuf is consumed in the application, and the application can correctly read data out of an external mbuf

[dpdk-dev] [PATCH V2 1/2] net/netvsc: allow setting rx and tx copy break

2020-10-23 Thread Long Li
From: Stephen Hemminger The values for Rx and Tx copy break should be tunable rather than hard coded constants. The rx_copybreak sets the threshold where the driver uses an external mbuf to avoid having to copy data. Setting 0 for copybreak will cause driver to always create an external mbuf. Se

Re: [dpdk-dev] [PATCH v6 2/4] lib/hash: integrate RCU QSBR

2020-10-23 Thread Dharmik Thakkar
Hi Yipeng, I have addressed the comments. Can you please take a look? Thank you! > On Oct 21, 2020, at 5:50 PM, Dharmik Thakkar wrote: > > Currently, users have to use external RCU mechanisms to free resources > when using lock free hash algorithm. > > Integrate RCU QSBR process to make it ea

Re: [dpdk-dev] [PATCH v3 01/11] net/bnxt: add stingray support to core layer

2020-10-23 Thread Ajit Khaparde
On Fri, Oct 23, 2020 at 3:54 AM Ferruh Yigit wrote: > > On 10/22/2020 11:05 PM, Ajit Khaparde wrote: > > diff --git a/drivers/net/bnxt/tf_core/cfa_resource_types.h > > b/drivers/net/bnxt/tf_core/cfa_resource_types.h > > index 19838c393d..412204f7ed 100644 > > --- a/drivers/net/bnxt/tf_core/cfa_re

[dpdk-dev] [PATCH v2 2/2] ice: update writeback policy to reduce latency

2020-10-23 Thread Jesse Brandeburg
Just like iavf, setting the value to 2us allows for generally good streaming packet performance while keeping latency down, and generally keeps the performance of the PF and VF interfaces similar. The previous value of 0x10 was making latency on a single packet receive be as much as 16us. Fixes:

[dpdk-dev] [PATCH v2 1/2] iavf: Fix performance with writeback policy

2020-10-23 Thread Jesse Brandeburg
The iavf driver was trying to use writeback on ITR, but was never setting an ITR, so it didn't work. This caused performance to be limited due to too much PCIe traffic and partial writes during most benchmarking workloads. Set the ITR during queue setup, which can be checked at runtime by reading r

[dpdk-dev] [PATCH v2 0/2] intel: fix writeback

2020-10-23 Thread Jesse Brandeburg
This patch series is targeted at the v20.11 release. It fixes two separate bugs, on the PF with reducing the latency from 16us to 2us maximum for a single packet, and on the VF with adding an ITR timeout to both allow descriptor aggregation for writeback, and minimize latency, setting the value to

Re: [dpdk-dev] [PATCH] net/netvsc: use memzone to allocate contiguous physical mem for rndis

2020-10-23 Thread Ferruh Yigit
On 10/22/2020 1:26 AM, Long Li wrote: From: Long Li When sending data, netvsc assumes the tx_rndis buffer is contiguous and calculates physical addresses based on this assumption. Use memzone to allocate tx_rndis so it's guaranteed that this buffer is physically contiguous. Cc:sta...@dpdk.org

[dpdk-dev] [PATCH v6 17/23] event/dlb: add enqueue and its burst variants

2020-10-23 Thread Timothy McDaniel
Add support for enqueue and its variants. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- doc/guides/eventdevs/dlb.rst | 161 ++ drivers/event/dlb/dlb.c | 682 +++ 2 files changed, 843 insertions(+) diff --git a/doc/guides/eventde

[dpdk-dev] [PATCH v6 19/23] event/dlb: add eventdev stop and close

2020-10-23 Thread Timothy McDaniel
Add support for eventdev stop and close entry points. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 256 +-- drivers/event/dlb/dlb_iface.c| 6 + drivers/event/dlb/dlb_iface.h| 6 + dr

[dpdk-dev] [PATCH v6 21/23] event/dlb: add PMD self-tests

2020-10-23 Thread Timothy McDaniel
Add a variety of self-tests for both ldb and directed ports/queues, as well as configure, start, stop, link, etc... Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- app/test/test_eventdev.c |7 + drivers/event/dlb/dlb.c |1 + drivers/event/dlb/dlb_selftest.c |

[dpdk-dev] [PATCH v6 23/23] event/dlb: add timeout ticks entry point

2020-10-23 Thread Timothy McDaniel
Adds the timeout ticks conversion function. Adds announcement of availabililty of the new driver for Intel Dynamic Load Balancer 1.0 hardware. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- doc/guides/rel_notes/release_20_11.rst | 5 + drivers/event/dlb/dlb.c|

[dpdk-dev] [PATCH v6 20/23] event/dlb: add PMD's token pop public interface

2020-10-23 Thread Timothy McDaniel
The PMD uses a public interface to allow applications to control the token pop mode. Supported token pop modes are as follows, and they impact core scheduling affinity for ldb ports. AUTO_POP: Pop the CQ tokens immediately after dequeueing. DELAYED_POP: Pop CQ tokens after (dequeue_depth - 1) even

[dpdk-dev] [PATCH v6 22/23] event/dlb: add queue and port release

2020-10-23 Thread Timothy McDaniel
These entry points are NO-OPS. DLB does not support reconfiguring individual queues or ports. The entire device must be reconfigured. Signed-off-by: Timothy McDaniel --- drivers/event/dlb/dlb.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/drivers/event/dlb/dlb

[dpdk-dev] [PATCH v6 18/23] event/dlb: add dequeue and its burst variants

2020-10-23 Thread Timothy McDaniel
Add support for dequeue, dequeue_burst, ... DLB does not currently support interrupts, but instead uses umonitor/umwait if supported by the processor. This allows the software to monitor and wait on writes to a cache-line. DLB supports normal and sparse cq mode. In normal mode the hardware will p

[dpdk-dev] [PATCH v6 14/23] event/dlb: add port link

2020-10-23 Thread Timothy McDaniel
Add port link entry point. Directed queues are identified and created at this stage. Their setup deferred until link-time, at which point we know the directed port ID. Directed queue setup will only fail if this queue is already setup or there are no directed queues left to configure. Signed-off-b

[dpdk-dev] [PATCH v6 16/23] event/dlb: add eventdev start

2020-10-23 Thread Timothy McDaniel
Add support for the eventdev start entry point. DLB delays setting up single link resources until eventdev start, because it is only then that it can ascertain which ports have just one linked queue. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c

[dpdk-dev] [PATCH v6 10/23] event/dlb: add infos get and configure

2020-10-23 Thread Timothy McDaniel
Add support for configuring the DLB hardware. In particular, this patch configures the DLB hardware's scheduling domain, such that it is provisioned with the requested number of ports and queues, provided sufficient resources are available. Individual queues and ports are configured later in port s

[dpdk-dev] [PATCH v6 15/23] event/dlb: add port unlink and port unlinks in progress

2020-10-23 Thread Timothy McDaniel
Add supports for the port unlink(s) eventdev entry points. The unlink operation is an asynchronous operation executed by a control thread, and the unlinks-in-progress function reads a counter shared with the control thread. Port QE and memzone memory is freed here. Signed-off-by: Timothy McDaniel

[dpdk-dev] [PATCH v6 09/23] event/dlb: add xstats

2020-10-23 Thread Timothy McDaniel
Add support for DLB xstats. Perform initialization and add standard xstats entry points Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c| 23 + drivers/event/dlb/dlb_xstats.c | 1222 drivers/event/dlb/meson.bu

[dpdk-dev] [PATCH v6 13/23] event/dlb: add port setup

2020-10-23 Thread Timothy McDaniel
Configure the load balanded (ldb) or directed (dir) port. The consumer queue (CQ) and producer port (PP) are also set up here. Signed-off-by: Timothy McDaniel --- doc/guides/eventdevs/dlb.rst | 40 + drivers/event/dlb/dlb.c | 516 ++- drivers/event/dlb/dlb

[dpdk-dev] [PATCH v6 11/23] event/dlb: add queue and port default conf

2020-10-23 Thread Timothy McDaniel
Add support for getting the queue and port default configuration. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 29 + 1 file changed, 29 insertions(+) diff --git a/drivers/event/dlb/dlb.c b/drivers/event/dlb/dlb.c index c038794

[dpdk-dev] [PATCH v6 12/23] event/dlb: add queue setup

2020-10-23 Thread Timothy McDaniel
Load balanced (ldb) queues are setup here. Directed queues are not set up until link time, at which point we know the directed port ID. Directed queue setup will only fail if this queue is already setup or there are no directed queues left to configure. Signed-off-by: Timothy McDaniel Reviewed-by

[dpdk-dev] [PATCH v6 07/23] event/dlb: add flexible interface

2020-10-23 Thread Timothy McDaniel
This commit introduces the flexible interface. This interface allows the core code to operate in PF mode (direct hardware access) or bifurcated mode (hardware configured via kernel driver). This driver currently only supports PF modei, but bifurcated mode will be added in a future patch-set. Note t

[dpdk-dev] [PATCH v6 08/23] event/dlb: add probe-time hardware init

2020-10-23 Thread Timothy McDaniel
This commit adds probe-time low level hardware initialization. It also adds probe-time init for both primary and secondary DPDK processes. Signed-off-by: Timothy McDaniel --- drivers/event/dlb/dlb.c | 158 +++- drivers/event/dlb/meson.build| 3 +- driv

[dpdk-dev] [PATCH v6 06/23] event/dlb: add eventdev probe

2020-10-23 Thread Timothy McDaniel
Add the eventdev portion of probe, and parse command line options, but do not initialize hardware. Changes since v5 patch-set probe: Primary and secondary probe-time init has been removed, and will be introduced in subsequent patches contained in this patch-set. Hardware init has been moved to a

[dpdk-dev] [PATCH v6 03/23] event/dlb: add private data structures and constants

2020-10-23 Thread Timothy McDaniel
Add headers used internally by the PMD. They include constants, macros for device resources, structure definitions for hardware interfaces and software state, and various forward-declarations. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb_priv.h | 508 +++

[dpdk-dev] [PATCH v6 05/23] event/dlb: add inline functions

2020-10-23 Thread Timothy McDaniel
Add miscellaneous inline functions that may be called from multiple files. These functions include inline assembly of new x86 instructions, such as movdir64b, since they are not available as builtin functions in the minimum supported GCC version. Signed-off-by: Timothy McDaniel Reviewed-by: Gage

[dpdk-dev] [PATCH v6 02/23] event/dlb: add dynamic logging

2020-10-23 Thread Timothy McDaniel
This commit adds base support for dynamic logging. The default log level is NOTICE. Dynamic logging is used exclusively throughout this patchset. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 7 +++ drivers/event/dlb/dlb_log.h | 25 +++

[dpdk-dev] [PATCH v6 01/23] event/dlb: add documentation and meson infrastructure

2020-10-23 Thread Timothy McDaniel
Increased RTE_EVENT_MAX_QUEUES_PER_DEV config option from 64 to 255. Note that config/rte_config.h contains several configuration switches, providing for fine control of the PMD's runtime behaviour. The meson infrastructure is expanded as additional files are added to this patchset. Signed-off-b

[dpdk-dev] [PATCH v6 04/23] event/dlb: add definitions shared with LKM or shared code

2020-10-23 Thread Timothy McDaniel
Add headers containing structs and constants shared between the PMD and the shared code. The term shared code refers to the code that implements the hardware interface. The shared code is introduced in the probe patch, and then is extended as additional eventdev PMD entry points are added to the p

[dpdk-dev] [PATCH v6 00/23] Add DLB PMD

2020-10-23 Thread Timothy McDaniel
The following patch series adds support for a new eventdev PMD. The DLB PMD adds support for the Intel Dynamic Load Balancer (DLB) hardware. The DLB is a PCIe device that provides load-balanced, prioritized scheduling of core-to-core communication. The device consists of queues and arbiters that co

[dpdk-dev] [PATCH v3 23/23] event/dlb2: add timeout ticks entry point

2020-10-23 Thread Timothy McDaniel
Adds the timeout ticks conversion function. Adds announcement of availabililty for the new driver for Intel Dynamic Load Balancer 2.0 hardware. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- doc/guides/rel_notes/release_20_11.rst | 5 + drivers/event/dlb2/dlb2.c |

[dpdk-dev] [PATCH v3 21/23] event/dlb2: add PMD self-tests

2020-10-23 Thread Timothy McDaniel
Add a variety of self-tests for both ldb and directed ports/queues, as well as configure, start, stop, link, etc... Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- app/test/test_eventdev.c |7 + drivers/event/dlb2/dlb2.c |1 + drivers/event/dlb2/dlb2_selfte

[dpdk-dev] [PATCH v3 20/23] event/dlb2: add PMD's token pop public interface

2020-10-23 Thread Timothy McDaniel
The PMD uses a public interface to allow applications to control the token pop mode. Supported token pop modes are as follows, and they impact core scheduling affinity for ldb ports. AUTO_POP: Pop the CQ tokens immediately after dequeueing. DELAYED_POP: Pop CQ tokens after (dequeue_depth - 1) even

[dpdk-dev] [PATCH v3 22/23] event/dlb2: add queue and port release

2020-10-23 Thread Timothy McDaniel
DLB does not support reconfiguring individual queues or ports on the fly. The entire device must be reconfigured. Previously allocated port QE and memzone memory is freed in this patch. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 24 +++

[dpdk-dev] [PATCH v3 19/23] event/dlb2: add eventdev stop and close

2020-10-23 Thread Timothy McDaniel
Add support for eventdev stop and close entry points. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 257 +++-- drivers/event/dlb2/dlb2_iface.c| 6 + drivers/event/dlb2/dlb2_iface.h| 6 +

[dpdk-dev] [PATCH v3 17/23] event/dlb2: add enqueue and its burst variants

2020-10-23 Thread Timothy McDaniel
Add support for enqueue and its variants. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- doc/guides/eventdevs/dlb2.rst | 118 + drivers/event/dlb2/dlb2.c | 578 ++ 2 files changed, 696 insertions(+) diff --git a/doc/guides/eventde

[dpdk-dev] [PATCH v3 18/23] event/dlb2: add dequeue and its burst variants

2020-10-23 Thread Timothy McDaniel
Add support for dequeue, dequeue_burst, ... DLB2 does not currently support interrupts, but instead use umonitor/umwait if supported by the processor. This allows the software to monitor and wait on writes to a cache-line. DLB2 supports normal and sparse cq mode. In normal mode the hardware will

[dpdk-dev] [PATCH v3 15/23] event/dlb2: add port unlink and port unlinks in progress

2020-10-23 Thread Timothy McDaniel
Add supports for the port unlink(s) eventdev entry points. The unlink operation is an asynchronous operation executed by a control thread, and the unlinks-in-progress function reads a counter shared with the control thread. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/even

[dpdk-dev] [PATCH v3 13/23] event/dlb2: add port setup

2020-10-23 Thread Timothy McDaniel
Configure the load balanded (ldb) or directed (dir) port. The consumer queue (CQ) and producer port (PP) are also set up here. Signed-off-by: Timothy McDaniel --- doc/guides/eventdevs/dlb2.rst | 75 +++ drivers/event/dlb2/dlb2.c | 498 drivers/even

[dpdk-dev] [PATCH v3 16/23] event/dlb2: add eventdev start

2020-10-23 Thread Timothy McDaniel
Add support for the eventdev start entry point. We delay initializing some resources until eventdev start, since the number of linked queues can be used to determine if we are dealing with a ldb or dir resource. If this is a device restart, then the previous configuration will be reapplied. Signed

[dpdk-dev] [PATCH v3 14/23] event/dlb2: add port link

2020-10-23 Thread Timothy McDaniel
Add port link entry point. Directed queues are identified and created at this stage. Their setup deferred until link-time, at which point we know the directed port ID. Directed queue setup will only fail if this queue is already setup or there are no directed queues left to configure. Signed-off-b

[dpdk-dev] [PATCH v3 12/23] event/dlb2: add queue setup

2020-10-23 Thread Timothy McDaniel
Load balanced (ldb) queues are setup here. Directed queues are not set up until link time, at which point we know the directed port ID. Directed queue setup will only fail if this queue is already setup or there are no directed queues left to configure. Signed-off-by: Timothy McDaniel Reviewed-by

[dpdk-dev] [PATCH v3 09/23] event/dlb2: add xstats

2020-10-23 Thread Timothy McDaniel
Add support for DLB2 xstats. Perform initialization and add standard xstats entry points. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads Reviewed-by: Chen, Mike Ximing --- drivers/event/dlb2/dlb2.c| 35 +- drivers/event/dlb2/dlb2_xstats.c | 1240 +

[dpdk-dev] [PATCH v3 10/23] event/dlb2: add infos get and configure

2020-10-23 Thread Timothy McDaniel
Add support for configuring the DLB2 hardware. In particular, this patch configures the DLB2 hardware's scheduling domain, such that it is provisioned with the requested number of ports and queues, provided sufficient resources are available. Individual queues and ports are configured later in port

[dpdk-dev] [PATCH v3 07/23] event/dlb2: add flexible interface

2020-10-23 Thread Timothy McDaniel
This commit introduces the flexible interface. This interface allows the core code to operate in PF mode (direct hardware access) or bifurcated mode (hardware configured via kernel driver). This driver currently only supports PF mode but bifurcated mode will be added in a future DPDK patch-set. Not

[dpdk-dev] [PATCH v3 11/23] event/dlb2: add queue and port default conf

2020-10-23 Thread Timothy McDaniel
Add support for getting the queue and port default configuration. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index

[dpdk-dev] [PATCH v3 08/23] event/dlb2: add probe-time hardware init

2020-10-23 Thread Timothy McDaniel
This commit adds probe-time low level hardware initialization. It also adds probe-time init for both primary and secondary DPDK processes. Signed-off-by: Timothy McDaniel --- drivers/event/dlb2/dlb2.c | 188 +++- drivers/event/dlb2/meson.build | 3

[dpdk-dev] [PATCH v3 05/23] event/dlb2: add inline functions

2020-10-23 Thread Timothy McDaniel
Add miscellaneous inline functions that may be called from multiple files. These functions include inline assembly of new x86 instructions, such as movdir64b, since they are not available as builtin functions in the minimum supported GCC version. Signed-off-by: Timothy McDaniel Reviewed-by: Gage

[dpdk-dev] [PATCH v3 03/23] event/dlb2: add private data structures and constants

2020-10-23 Thread Timothy McDaniel
The header file dlb2_priv.h is used internally by the PMD. It include constants, macros for device resources, structure definitions for hardware interfaces and software state, and various forward-declarations. The header file rte_pmd_dlb2.h will be exported in a subsequent patch, but is included he

[dpdk-dev] [PATCH v3 04/23] event/dlb2: add definitions shared with LKM or shared code

2020-10-23 Thread Timothy McDaniel
Add headers containing structs and constants shared between the PMD and the shared code. The term shared code refers to the code that implements the hardware interface. The shared code is introduced in the probe patch, and then is extended as additional eventdev PMD entry points are added to the p

[dpdk-dev] [PATCH v3 02/23] event/dlb2: add dynamic logging

2020-10-23 Thread Timothy McDaniel
This commit adds base support for dynamic logging. The default log level is NOTICE. Dynamic logging is used exclusively throughout this patchset. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 7 +++ drivers/event/dlb2/dlb2_log.h | 25 +

[dpdk-dev] [PATCH v3 00/23] Add DLB2 PMD

2020-10-23 Thread Timothy McDaniel
The following patch series adds support for a new eventdev PMD. The DLB2 PMD adds support for the Intel Dynamic Load Balancer 2.0 (DLB2) hardware. The DLB2 is a PCIe device that provides load-balanced, prioritized scheduling of core-to-core communication. The device consists of queues and arbiters

[dpdk-dev] [PATCH v3 01/23] event/dlb2: add documentation and meson build infrastructure

2020-10-23 Thread Timothy McDaniel
Adds the meson build infrastructure, which includes compile-time constants in rte_config.h. DLB2 is only supported on Linux X86 platforms at this time. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- MAINTAINERS | 5 +++ config/rte_config.h

[dpdk-dev] [PATCH] regex/octeontx2: fix driver name

2020-10-23 Thread Thomas Monjalon
Following the recent alignment of all driver names, this new driver get unaligned: librte_regex_octeontx2_regex.so The 'fmt_name' must be "octeontx2_regex", and if not provided, is taken from the 'name' variable. But the variable 'name' should not be overwritten, to keep the automatic valu

[dpdk-dev] [PATCH v8 10/10] doc: update programmer's guide for power library

2020-10-23 Thread Liang Ma
Update programmer's guide to document PMD power management usage. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: David Hunt --- doc/guides/prog_guide/power_man.rst | 42 + 1 file changed, 42 insertions(+) diff --git a/doc/guides/prog_guide/power_m

[dpdk-dev] [PATCH v8 09/10] examples/l3fwd-power: enable PMD power mgmt

2020-10-23 Thread Liang Ma
Add PMD power management feature support to l3fwd-power sample app. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: David Hunt --- Notes: v8: - Add return status check for queue enable v6: - Fixed typos in documentation --- .../sample_app_ug/l3_forward_power_

  1   2   3   >