Re: [dpdk-dev] [PATCH v5 03/11] build: remove unused or superfluous variables

2020-11-01 Thread Ruifeng Wang
> -Original Message- > From: Juraj Linkeš > Sent: Wednesday, October 28, 2020 10:04 PM > To: bruce.richard...@intel.com; Ruifeng Wang ; > Honnappa Nagarahalli ; Phil Yang > ; vcchu...@amazon.com; Dharmik Thakkar > ; jerinjac...@gmail.com; > hemant.agra...@nxp.com > Cc: dev@dpdk.org; Juraj

Re: [dpdk-dev] [PATCH v5 02/11] build: rename Arm build variables

2020-11-01 Thread Ruifeng Wang
> -Original Message- > From: Juraj Linkeš > Sent: Wednesday, October 28, 2020 10:04 PM > To: bruce.richard...@intel.com; Ruifeng Wang ; > Honnappa Nagarahalli ; Phil Yang > ; vcchu...@amazon.com; Dharmik Thakkar > ; jerinjac...@gmail.com; > hemant.agra...@nxp.com > Cc: dev@dpdk.org; Juraj

[dpdk-dev] [PATCH v2] build: add pkg-config validation

2020-11-01 Thread Gregory Etelson
DPDK relies on pkg-config(1) to provide correct parameters for compiler and linker used in application build. Inaccurate build parameters, produced by pkg-config from DPDK .pc files could fail application build or cause unpredicted results during application runtime. This patch validates host pkg-

[dpdk-dev] [PATCH] net/bnxt: fix PAM4 link negotiation

2020-11-01 Thread Ajit Khaparde
In some instances link was not coming up if PAM4 signaling is enabled. Added check to disable autoneg if FW indicates auto speeds are zero. Use default auto speeds if PAM4 auto speeds is not set. Added a fix for forced link setting. Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link") Signed-

Re: [dpdk-dev] [PATCH v2 8/9] net/mlx5: support shared age action

2020-11-01 Thread Matan Azrad
Hi Self note From: Matan Azrad: > Add support for rte_flow shared action API for ASO age action. > > First step here to support validate, create, query and destroy. > > The support is only for age ASO mode. > > Signed-off-by: Matan Azrad > Acked-by: Dekel Peled > --- > drivers/net/mlx5/mlx5.

[dpdk-dev] [PATCH] examples/l3fwd: enable multiple Tx queues on a lcore

2020-11-01 Thread Leyi Rong
This patch enable multiple Tx queues handling on a lcore. Signed-off-by: Leyi Rong --- examples/l3fwd/l3fwd_common.h| 6 ++--- examples/l3fwd/l3fwd_em.c| 2 +- examples/l3fwd/l3fwd_em_hlm.h| 4 ++-- examples/l3fwd/l3fwd_em_sequential.h | 5 +++-- examples/l3fwd/l3

Re: [dpdk-dev] [PATCH v2 08/14] net/mlx5: switch timestamp to dynamic mbuf field

2020-11-01 Thread Ruifeng Wang
> -Original Message- > From: Thomas Monjalon > Sent: Monday, November 2, 2020 2:06 AM > To: dev@dpdk.org > Cc: ferruh.yi...@intel.com; david.march...@redhat.com; > bruce.richard...@intel.com; olivier.m...@6wind.com; > andrew.rybche...@oktetlabs.ru; jer...@marvell.com; > viachesl...@nvidi

[dpdk-dev] [PATCH v2] common/mlx5: free MR resource while device DMA unmap

2020-11-01 Thread Jiawei Wang
mlx5 PMD created the MR (Memory Region) resource on the mlx5_dma_map call to make the memory available for DMA operations. On the mlx5_dma_unmap call the MR resource was not freed but inserted to MR Free list for further garbage collection. Actual MR resource destroying happened on device stop call

Re: [dpdk-dev] [EXT] RE: [PATCH 1/1] eal/linux: fix event set error for rte_epoll_event

2020-11-01 Thread wangyunjian
> -Original Message- > From: wangyunjian > Sent: Tuesday, September 22, 2020 8:06 PM > To: 'Harman Kalra' > Cc: dev@dpdk.org; david.march...@redhat.com; ferruh.yi...@intel.com; > Thomas Monjalon ; Lilijun (Jerry) > ; xudingke ; > sta...@dpdk.org > Subject: RE: [EXT] RE: [dpdk-dev] [PATCH 1

[dpdk-dev] [PATCH v2] net/iavf: fix invalid RSS type

2020-11-01 Thread Simei Su
When a RSS rule with symmetric hash function, the RSS type shouldn't carry with SRC/DST_ONLY. This patch adds invalid RSS type check for the case. Fixes: 91f27b2e39ab ("net/iavf: refactor RSS") Signed-off-by: Simei Su --- drivers/net/iavf/iavf_hash.c | 16 ++-- 1 file changed, 14 in

Re: [dpdk-dev] [PATCH] net/iavf: fix invalid RSS type

2020-11-01 Thread Su, Simei
> -Original Message- > From: Zhang, Qi Z > Sent: Friday, October 30, 2020 5:41 PM > To: Su, Simei > Cc: dev@dpdk.org; Guo, Jia ; Guo, Junfeng > > Subject: RE: [PATCH] net/iavf: fix invalid RSS type > > > > > -Original Message- > > From: Su, Simei > > Sent: Friday, October 3

[dpdk-dev] [PATCH] net/ice: delete unsupport ptypes in default hash set

2020-11-01 Thread Junfeng Guo
Ptypes for GTPU with inner SCTP are not supported in current DDP pkg. Thus, delete them in the default hash set config function. Also clean up the rss vsi when calling the hash set config function. Signed-off-by: Junfeng Guo --- drivers/net/ice/ice_ethdev.c | 40 ++---

[dpdk-dev] [Bug 568] mlx5 flow match & drop performance problem

2020-11-01 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=568 Bug ID: 568 Summary: mlx5 flow match & drop performance problem Product: DPDK Version: 19.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: major

Re: [dpdk-dev] [PATCH v2] net/mlx5: support Flow Tag and Packet Header miniCQEs

2020-11-01 Thread Raslan Darawsheh
Hi, > -Original Message- > From: Alexander Kozyrev > Sent: Sunday, November 1, 2020 6:15 PM > To: dev@dpdk.org > Cc: Raslan Darawsheh ; Slava Ovsiienko > ; Matan Azrad > Subject: [PATCH v2] net/mlx5: support Flow Tag and Packet Header miniCQEs > > CQE compression allows us to save the P

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

2020-11-01 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 248296d..d42e48b 100644 --- a/drivers/e

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

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

2020-11-01 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 v11 22/23] event/dlb2: add queue and port release

2020-11-01 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 v11 19/23] event/dlb2: add eventdev stop and close

2020-11-01 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 v11 18/23] event/dlb2: add dequeue and its burst variants

2020-11-01 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 v11 16/23] event/dlb2: add eventdev start

2020-11-01 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 v11 17/23] event/dlb2: add enqueue and its burst variants

2020-11-01 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 | 540 ++ 2 files changed, 658 insertions(+) diff --git a/doc/guides/eventde

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

2020-11-01 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 v11 14/23] event/dlb2: add port link

2020-11-01 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 v11 13/23] event/dlb2: add port setup

2020-11-01 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 Reviewed-by: Gage Eads --- doc/guides/eventdevs/dlb2.rst | 75 +++ drivers/event/dlb2/dlb2.c | 498 ++

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

2020-11-01 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 v11 12/23] event/dlb2: add queue setup

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

2020-11-01 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 v11 09/23] event/dlb2: add xstats

2020-11-01 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 | 1235 +

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

2020-11-01 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 Reviewed-by: Gage Eads --- drivers/event/dlb2/dlb2.c | 188 +++- drivers/event/dlb2/meson.

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

2020-11-01 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 v11 05/23] event/dlb2: add inline functions

2020-11-01 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 v11 03/23] event/dlb2: add private data structures and constants

2020-11-01 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 v11 04/23] event/dlb2: add definitions shared with LKM or shared code

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

2020-11-01 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 availability for the new driver for Intel Dynamic Load Balancer 2.0 hardware. Signed-off-by: Timothy McDaniel Review

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

2020-11-01 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 v11 02/23] event/dlb2: add dynamic logging

2020-11-01 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 v16 21/23] event/dlb: add PMD self-tests

2020-11-01 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 v16 22/23] event/dlb: add queue and port release

2020-11-01 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 Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 27 +++ 1 file changed, 27 insertions(+) diff --git

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

2020-11-01 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 bda696a..2bb270d 100644 --- a/drivers/event/d

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

2020-11-01 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 v16 19/23] event/dlb: add eventdev stop and close

2020-11-01 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 v16 18/23] event/dlb: add dequeue and its burst variants

2020-11-01 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 v16 17/23] event/dlb: add enqueue and its burst variants

2020-11-01 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 | 567 +++ 2 files changed, 728 insertions(+) diff --git a/doc/guides/event

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

2020-11-01 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 v16 14/23] event/dlb: add port link

2020-11-01 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 v16 15/23] event/dlb: add port unlink and port unlinks in progress

2020-11-01 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 v16 12/23] event/dlb: add queue setup

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

2020-11-01 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 v16 13/23] event/dlb: add port setup

2020-11-01 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 Reviewed-by: Gage Eads --- doc/guides/eventdevs/dlb.rst | 40 + drivers/event/dlb/dlb.c | 516 ++

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

2020-11-01 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 | 1217 drivers/event/dlb/meson.bu

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

2020-11-01 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 v16 08/23] event/dlb: add probe-time hardware init

2020-11-01 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 Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 158 +++- drivers/event/dlb/meson.build

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

2020-11-01 Thread Timothy McDaniel
Add the eventdev portion of probe, and parse command line options, but do not initialize hardware. Signed-off-by: Timothy McDaniel Reviewed-by: Gage Eads --- drivers/event/dlb/dlb.c | 327 drivers/event/dlb/dlb_priv.h |2 + drivers/event/dlb/meson.

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

2020-11-01 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 v16 07/23] event/dlb: add flexible interface

2020-11-01 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 v16 04/23] event/dlb: add definitions shared with LKM or shared code

2020-11-01 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 v16 05/23] event/dlb: add inline functions

2020-11-01 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 v16 02/23] event/dlb: add dynamic logging

2020-11-01 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 v16 00/23] Add DLB PMD

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

2020-11-01 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 availability of the new driver for Intel Dynamic Load Balance

Re: [dpdk-dev] [PATCH v5 03/15] ethdev: register mbuf field and flags for timestamp

2020-11-01 Thread Thomas Monjalon
01/11/2020 21:10, Andrew Rybchenko: > On 10/30/20 8:29 PM, Thomas Monjalon wrote: > > + static bool done_rx, done_tx; > > Are these static fields remain by intention? May be I misunderstand > the summary of the previous discussion. Andrew, you are reading the wrong thread. The timestamp series

Re: [dpdk-dev] [PATCH v15 00/23] Add DLB PMD

2020-11-01 Thread McDaniel, Timothy
> -Original Message- > From: David Marchand > Sent: Sunday, November 1, 2020 3:11 PM > To: McDaniel, Timothy > Cc: dev ; Carrillo, Erik G ; Eads, > Gage ; Van Haaren, Harry > ; Jerin Jacob Kollanukkaran > ; Thomas Monjalon > Subject: Re: [dpdk-dev] [PATCH v15 00/23] Add DLB PMD > > On

Re: [dpdk-dev] [PATCH v15 00/23] Add DLB PMD

2020-11-01 Thread David Marchand
On Sun, Nov 1, 2020 at 8:25 PM Timothy McDaniel wrote: > > 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

Re: [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotterfirst half

2020-11-01 Thread Morten Brørup
> From: Thomas Monjalon [mailto:tho...@monjalon.net] > Sent: Sunday, November 1, 2020 5:38 PM > > 01/11/2020 10:12, Morten Brørup: > > One thing has always puzzled me: > > Why do we use 64 bits to indicate which memory pool > > an mbuf belongs to? > > The portid only uses 16 bits and an indirectio

[dpdk-dev] [PATCH] net/bnxt: fixes for vxlan decap full offload

2020-11-01 Thread Venkat Duvvuru
1. When a PMD application queries for flow counters, it could ask PMD to reset the counters when the application is doing the counters accumulation. In this case, PMD should not accumulate rather reset the counter. 2. Some of the PMD applications may set the protocol field in the IPv4

Re: [dpdk-dev] [PATCH] eventdev: check input parameter for dump op

2020-11-01 Thread McDaniel, Timothy
> -Original Message- > From: David Marchand > Sent: Sunday, November 1, 2020 2:37 PM > To: dev@dpdk.org > Cc: McDaniel, Timothy ; Jerin Jacob > > Subject: [PATCH] eventdev: check input parameter for dump op > > Rather than have drivers check for this, let's ensure the passed FILE * >

[dpdk-dev] [PATCH] eventdev: check input parameter for dump op

2020-11-01 Thread David Marchand
Rather than have drivers check for this, let's ensure the passed FILE * is not NULL. Signed-off-by: David Marchand --- lib/librte_eventdev/rte_eventdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c index 994bd1eaa

Re: [dpdk-dev] [PATCH v5 15/15] mbuf: move pool pointer in hotter first half

2020-11-01 Thread Andrew Rybchenko
On 10/30/20 8:29 PM, Thomas Monjalon wrote: The mempool pointer in the mbuf struct is moved from the second to the first half. It should increase performance on most systems having 64-byte cache line, i.e. mbuf is split in two cache lines. On such system, the first half (also called first cache l

Re: [dpdk-dev] [PATCH v5 14/15] mbuf: remove deprecated timestamp field

2020-11-01 Thread Andrew Rybchenko
On 10/30/20 8:29 PM, Thomas Monjalon wrote: As announced in the deprecation note, the field timestamp is removed to allow giving more space to the dynamic fields. The related offload flag PKT_RX_TIMESTAMP is also removed. Signed-off-by: Thomas Monjalon Reviewed-by: Andrew Rybchenko

Re: [dpdk-dev] [PATCH v5 03/15] ethdev: register mbuf field and flags for timestamp

2020-11-01 Thread Andrew Rybchenko
On 10/30/20 8:29 PM, Thomas Monjalon wrote: During port configure or queue setup, the offload flags DEV_RX_OFFLOAD_TIMESTAMP and DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP trigger the registration of the related mbuf field and flags. Previously, the Tx timestamp field and flag were registered in testpmd,

Re: [dpdk-dev] [PATCH v5 02/15] mbuf: add Rx timestamp dynamic flag

2020-11-01 Thread Andrew Rybchenko
On 10/30/20 8:29 PM, Thomas Monjalon wrote: There is already a dynamic field for timestamp, used only for Tx scheduling, thanks to the dedicated flag. The same field can be used for Rx timestamp filled by drivers. The only missing part to get rid of the static timestamp field was to declare a new

Re: [dpdk-dev] [PATCH 10/15] net/octeontx2: switch timestamp to dynamic mbuf field

2020-11-01 Thread Andrew Rybchenko
On 10/30/20 3:41 PM, Jerin Jacob wrote: On Thu, Oct 29, 2020 at 5:22 PM Slava Ovsiienko wrote: Just five cents - exporting the offset (making it global) might have side effect impacting the performance. I agree with Slava. The offset value should be stored in the PMD structure. IMO, We can h

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

2020-11-01 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 v10 23/23] event/dlb2: add timeout ticks entry point

2020-11-01 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 248296d..d42e48b 100644 --- a/drivers/e

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

2020-11-01 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 v10 19/23] event/dlb2: add eventdev stop and close

2020-11-01 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 v10 18/23] event/dlb2: add dequeue and its burst variants

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

2020-11-01 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 v10 17/23] event/dlb2: add enqueue and its burst variants

2020-11-01 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 | 540 ++ 2 files changed, 658 insertions(+) diff --git a/doc/guides/eventde

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

2020-11-01 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 v10 15/23] event/dlb2: add port unlink and port unlinks in progress

2020-11-01 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 v10 14/23] event/dlb2: add port link

2020-11-01 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 v10 12/23] event/dlb2: add queue setup

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

2020-11-01 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 v10 13/23] event/dlb2: add port setup

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

2020-11-01 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 v10 08/23] event/dlb2: add probe-time hardware init

2020-11-01 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 v10 09/23] event/dlb2: add xstats

2020-11-01 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 | 1235 +

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

2020-11-01 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 v10 03/23] event/dlb2: add private data structures and constants

2020-11-01 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 v10 04/23] event/dlb2: add definitions shared with LKM or shared code

2020-11-01 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 v10 05/23] event/dlb2: add inline functions

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

2020-11-01 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 availability for the new driver for Intel Dynamic Load Balancer 2.0 hardware. Signed-off-by: Timothy McDaniel Review

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

2020-11-01 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 v10 00/23] Add DLB2 PMD

2020-11-01 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 v15 21/23] event/dlb: add PMD self-tests

2020-11-01 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 v15 22/23] event/dlb: add queue and port release

2020-11-01 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 v15 23/23] event/dlb: add timeout ticks entry point

2020-11-01 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 bda696a..2bb270d 100644 --- a/drivers/event/d

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

2020-11-01 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

  1   2   >