[dpdk-dev] [PATCH] windows: minor install fix

2020-10-30 Thread Nick Connolly
Don't run symlink-drivers-solibs.sh as part of 'install' because Windows doesn't support shell scripts. Signed-off-by: Nick Connolly Tested-by: Ranjit Menon Acked-by: Ranjit Menon --- config/meson.build | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/config/meson.bu

[dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-30 Thread Nick Connolly
Meson versions >= 0.54.0 include support for handling /implib with msvc link. Specifying it explicitly causes failures when linking against the dll. Tested using Link 14.27.29112.0 and Clang 11.0.0. There were a number of changes to the way that import libraries are handled between 0.47.1 and 0.54

[dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-30 Thread Nick Connolly
Meson versions >= 0.54.0 include support for handling /implib with msvc link. Specifying it explicitly causes failures when linking against the dll. Tested using Link 14.27.29112.0 and Clang 11.0.0. There were a number of changes to the way that import libraries are handled between 0.47.1 and 0.54

[dpdk-dev] [PATCH v2] windows: minor build fixes

2020-10-30 Thread Nick Connolly
Meson versions >= 0.54.0 include support for handling /implib with msvc link. Specifying it explicitly causes failures when linking against the dll. Tested using Link 14.27.29112.0 and Clang 11.0.0. There were a number of changes to the way that import libraries are handled between 0.47.1 and 0.54

Re: [dpdk-dev] [PATCH] windows: minor build fixes

2020-10-30 Thread Nick Connolly
On 30/10/2020 22:51, Tal Shnaiderman wrote: Do we know why meson changed its behavior of lib file location in versions > 0.54? Was the old behavior of keeping lib files in the matching output folders incorrect? I'm not sure why meson was changed, but without the fix subsequent attempts to link

[dpdk-dev] [PATCH v1 1/2] net/hinic: fix outer_l3_len parse error

2020-10-30 Thread Xiaoyun wang
This patch fixes outer_l3_len parse error when PKT_TX_OUTER_IP_CKSUM is not set, which does not affect checksum function, just be consistent with mbuf meta information description. Fixes: 8c8b61234ffd ("net/hinic: refactor checksum functions") Cc: sta...@dpdk.org Signed-off-by: Xiaoyun wang ---

[dpdk-dev] [PATCH v1 2/2] net/hinic: fix SCTP checksum error

2020-10-30 Thread Xiaoyun wang
For SCTP checksum offload, pmd driver does not parse payload offset info, which may cause hardware calculate SCTP checksum failed. Fixes: 8c8b61234ffd ("net/hinic: refactor checksum functions") Cc: sta...@dpdk.org Signed-off-by: Xiaoyun wang --- drivers/net/hinic/hinic_pmd_tx.c | 3 ++- 1 file c

[dpdk-dev] [PATCH v1 0/2] fix some csum errors

2020-10-30 Thread Xiaoyun wang
This patch fixes outer_l3_len parse error when PKT_TX_OUTER_IP_CKSUM is not set, which does not affect checksum function, just be consistent with mbuf meta information description, and fixes SCTP checksum errors because driver doesn't pass payload offset info to hardware, which may cause SCTP ch

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

2020-10-30 Thread Timothy McDaniel
Adds the timeout ticks conversion function. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 13 + 1 file changed, 13 insertions(+) diff --git a/drivers/event/dlb/dlb.c b/drivers/event/dlb/dlb.c index 41ccb4a..4aab9f6 100644 --- a/drivers/event/d

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

2020-10-30 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 v13 21/23] event/dlb: add PMD self-tests

2020-10-30 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 v13 22/23] event/dlb: add queue and port release

2020-10-30 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 v13 20/23] event/dlb: add PMD's token pop public interface

2020-10-30 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 v13 19/23] event/dlb: add eventdev stop and close

2020-10-30 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 v13 18/23] event/dlb: add dequeue and its burst variants

2020-10-30 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 v13 16/23] event/dlb: add eventdev start

2020-10-30 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 v13 15/23] event/dlb: add port unlink and port unlinks in progress

2020-10-30 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 v13 17/23] event/dlb: add enqueue and its burst variants

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

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

2020-10-30 Thread Timothy McDaniel
Configure the load balanced (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 v13 12/23] event/dlb: add queue setup

2020-10-30 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 v13 10/23] event/dlb: add infos get and configure

2020-10-30 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 v13 11/23] event/dlb: add queue and port default conf

2020-10-30 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 v13 09/23] event/dlb: add xstats

2020-10-30 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 v13 08/23] event/dlb: add probe-time hardware init

2020-10-30 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 v13 06/23] event/dlb: add eventdev probe

2020-10-30 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 v13 07/23] event/dlb: add flexible interface

2020-10-30 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 v13 05/23] event/dlb: add inline functions

2020-10-30 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 v13 03/23] event/dlb: add private data structures and constants

2020-10-30 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 v13 04/23] event/dlb: add definitions shared with LKM or shared code

2020-10-30 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 v13 01/23] event/dlb: add documentation and meson infrastructure

2020-10-30 Thread Timothy McDaniel
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. Adds announcement of availabililty of the new driver for Intel Dynamic Load Balanc

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

2020-10-30 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 v13 02/23] event/dlb: add dynamic logging

2020-10-30 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 v8 23/23] event/dlb2: add timeout ticks entry point

2020-10-30 Thread Timothy McDaniel
Adds the timeout ticks conversion function. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 13 + 1 file changed, 13 insertions(+) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index d9b13a1..d12cbf7 100644 --- a/drivers/e

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

2020-10-30 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 v8 20/23] event/dlb2: add PMD's token pop public interface

2020-10-30 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 v8 22/23] event/dlb2: add queue and port release

2020-10-30 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 v8 19/23] event/dlb2: add eventdev stop and close

2020-10-30 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 v8 18/23] event/dlb2: add dequeue and its burst variants

2020-10-30 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 v8 15/23] event/dlb2: add port unlink and port unlinks in progress

2020-10-30 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 v8 17/23] event/dlb2: add enqueue and its burst variants

2020-10-30 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 v8 14/23] event/dlb2: add port link

2020-10-30 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 v8 13/23] event/dlb2: add port setup

2020-10-30 Thread Timothy McDaniel
Configure the load balanced (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 v8 16/23] event/dlb2: add eventdev start

2020-10-30 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 v8 12/23] event/dlb2: add queue setup

2020-10-30 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 v8 09/23] event/dlb2: add xstats

2020-10-30 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 v8 10/23] event/dlb2: add infos get and configure

2020-10-30 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 v8 11/23] event/dlb2: add queue and port default conf

2020-10-30 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 v8 08/23] event/dlb2: add probe-time hardware init

2020-10-30 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 v8 04/23] event/dlb2: add definitions shared with LKM or shared code

2020-10-30 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 v8 07/23] event/dlb2: add flexible interface

2020-10-30 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 v8 03/23] event/dlb2: add private data structures and constants

2020-10-30 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 v8 02/23] event/dlb2: add dynamic logging

2020-10-30 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 v8 05/23] event/dlb2: add inline functions

2020-10-30 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 v8 01/23] event/dlb2: add documentation and meson build infrastructure

2020-10-30 Thread Timothy McDaniel
Adds the meson build infrastructure, which includes compile-time constants in rte_config.h. DLB2 is only supported on Linux 64 bit X86 platforms at this time. Adds announcement of availabililty for the new driver for Intel Dynamic Load Balancer 2.0 hardware. Signed-off-by: Timothy McDaniel Revie

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

2020-10-30 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 v12 22/23] event/dlb: add queue and port release

2020-10-30 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 v12 23/23] event/dlb: add timeout ticks entry point

2020-10-30 Thread Timothy McDaniel
Adds the timeout ticks conversion function. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 13 + 1 file changed, 13 insertions(+) diff --git a/drivers/event/dlb/dlb.c b/drivers/event/dlb/dlb.c index 41ccb4a..4aab9f6 100644 --- a/drivers/event/d

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

2020-10-30 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 v12 20/23] event/dlb: add PMD's token pop public interface

2020-10-30 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 v12 16/23] event/dlb: add eventdev start

2020-10-30 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 v12 19/23] event/dlb: add eventdev stop and close

2020-10-30 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 v12 18/23] event/dlb: add dequeue and its burst variants

2020-10-30 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 v12 15/23] event/dlb: add port unlink and port unlinks in progress

2020-10-30 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 v12 17/23] event/dlb: add enqueue and its burst variants

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

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

2020-10-30 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 v12 13/23] event/dlb: add port setup

2020-10-30 Thread Timothy McDaniel
Configure the load balanced (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 v12 12/23] event/dlb: add queue setup

2020-10-30 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 v12 11/23] event/dlb: add queue and port default conf

2020-10-30 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 v12 10/23] event/dlb: add infos get and configure

2020-10-30 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 v12 07/23] event/dlb: add flexible interface

2020-10-30 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 v12 09/23] event/dlb: add xstats

2020-10-30 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 v12 08/23] event/dlb: add probe-time hardware init

2020-10-30 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 v12 06/23] event/dlb: add eventdev probe

2020-10-30 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 v12 04/23] event/dlb: add definitions shared with LKM or shared code

2020-10-30 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 v12 03/23] event/dlb: add private data structures and constants

2020-10-30 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 v12 05/23] event/dlb: add inline functions

2020-10-30 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 v12 01/23] event/dlb: add documentation and meson infrastructure

2020-10-30 Thread Timothy McDaniel
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. Adds announcement of availabililty of the new driver for Intel Dynamic Load Balanc

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

2020-10-30 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 v12 02/23] event/dlb: add dynamic logging

2020-10-30 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 V3 2/2] net/netvsc: introduce driver parameter to control the use of external mbuf on receiving data

2020-10-30 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 V3 1/2] net/netvsc: allow setting rx and tx copy break

2020-10-30 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 v3] cmdline: avoid name clash with Windows system types

2020-10-30 Thread Jie Zhou
On Fri, Oct 30, 2020 at 04:01:26AM +0300, Dmitry Kozlyuk wrote: > cmdline_numtype member names clash with Windows system identifiers. > Add RTE_ prefix to cmdline constants to avoid this and possible > future conflicts. > > Suggested-by: Ranjit Menon > Signed-off-by: Dmitry Kozlyuk > --- > > v3

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

2020-10-30 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 v7 15/23] event/dlb2: add port unlink and port unlinks in progress

2020-10-30 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 v7 13/23] event/dlb2: add port setup

2020-10-30 Thread Timothy McDaniel
Configure the load balanced (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 v7 14/23] event/dlb2: add port link

2020-10-30 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 v7 22/23] event/dlb2: add queue and port release

2020-10-30 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 v7 23/23] event/dlb2: add timeout ticks entry point

2020-10-30 Thread Timothy McDaniel
Adds the timeout ticks conversion function. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 13 + 1 file changed, 13 insertions(+) diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c index d9b13a1..d12cbf7 100644 --- a/drivers/e

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

2020-10-30 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 v7 21/23] event/dlb2: add PMD self-tests

2020-10-30 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 v7 20/23] event/dlb2: add PMD's token pop public interface

2020-10-30 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 v7 19/23] event/dlb2: add eventdev stop and close

2020-10-30 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 v7 17/23] event/dlb2: add enqueue and its burst variants

2020-10-30 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 v7 16/23] event/dlb2: add eventdev start

2020-10-30 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 v7 12/23] event/dlb2: add queue setup

2020-10-30 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 v7 09/23] event/dlb2: add xstats

2020-10-30 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 v7 07/23] event/dlb2: add flexible interface

2020-10-30 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 v7 11/23] event/dlb2: add queue and port default conf

2020-10-30 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 v7 08/23] event/dlb2: add probe-time hardware init

2020-10-30 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 v7 04/23] event/dlb2: add definitions shared with LKM or shared code

2020-10-30 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

  1   2   3   4   5   >