>
> Sending number of packets equal to number of workers isn't enough to stop
> all workers in burst version of distributor as more than one packet can be
> matched and consumed by a single worker. This way some of workers might
> not be awaken from rte_distributor_get_pkt().
>
> This patch fix
>
> Statistics of handled packets are cleared and read on main lcore, while they
> are increased in workers handlers on different lcores.
>
> Without synchronization occasionally showed invalid values.
> This patch uses atomic mechanisms to synchronize.
> Relaxed memory model is used.
>
> Fixe
>
> rte_distributor_return_pkt function which is run on worker cores must wait
> for distributor core to clear handshake on retptr64 before using those
> buffers. While the handshake is set distributor core controls buffers and any
> operations on worker side might overwrite buffers which are unr
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 2601d8e..1ac498a 100644
--- a/drivers/event/d
Added announcement of availabililty for the new driver
for Intel Dynamic Load Balancer 1.0 hardware.
Signed-off-by: Timothy McDaniel
---
MAINTAINERS| 5 +
doc/guides/rel_notes/release_20_11.rst | 5 +
2 files changed, 10 insertions(+)
diff --git a/MAINTAINERS
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 |
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
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
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
Add support for enqueue and its variants.
Signed-off-by: Timothy McDaniel
Reviewed-by: Gage Eads
---
drivers/event/dlb/dlb.c | 682
1 file changed, 682 insertions(+)
diff --git a/drivers/event/dlb/dlb.c b/drivers/event/dlb/dlb.c
index 3797b5b..e
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
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
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
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
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
---
drivers/event/dlb/dlb.c | 516 ++-
drivers/event/dlb/dlb_iface.c| 11 +
drivers/event/dlb/dlb
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
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 fa9ec4c
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
Add support for DLB xstats. Perform initialization and add
standard xstats entry points
Signed-off-by: Timothy McDaniel
---
drivers/event/dlb/dlb.c| 23 +
drivers/event/dlb/dlb_xstats.c | 1222
drivers/event/dlb/meson.build |1 +
3 files c
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
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
---
drivers/event/dlb/dlb_priv.h | 508 +++
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
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_log.h | 25 +
1 file changed, 25 insertions(
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
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
Added announcement of availabililty for the new driver
for Intel Dynamic Load Balancer 2.0 hardware.
Signed-off-by: Timothy McDaniel
---
MAINTAINERS| 5 +
doc/guides/rel_notes/release_20_11.rst | 5 +
2 files changed, 10 insertions(+)
diff --git a/MAINTAINERS
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 968923e..48879a1 100644
--- a/drivers/e
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
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
DLB does not support reconfiguring individual queues
or ports on the fly. The entire device must be reconfigured.
Previously allocated port QE ond memzone memory
is freed in this patch.
Signed-off-by: Timothy McDaniel
---
drivers/event/dlb2/dlb2.c | 28 ++--
1 file change
Add support for eventdev stop and close entry points.
Signed-off-by: Timothy McDaniel
---
drivers/event/dlb2/dlb2.c | 257 +++--
drivers/event/dlb2/dlb2_iface.c| 6 +
drivers/event/dlb2/dlb2_iface.h| 6 +
drivers/event/dlb2/pf/
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
Add support for enqueue and its variants.
Signed-off-by: Timothy McDaniel
Reviewed-by: Gage Eads
---
drivers/event/dlb2/dlb2.c | 578 ++
1 file changed, 578 insertions(+)
diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 333718
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
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
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
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
---
drivers/event/dlb2/dlb2.c | 501
drivers/event/dlb2/dlb2_iface.c| 9 +
drivers/event/
Add support for getting the queue and port default configuration.
Signed-off-by: Timothy McDaniel
---
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 79b23da..1e28640 100644
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
---
driver
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
Add support for DLB2 xstats. Perform initialization and add
standard xstats entry points.
Signed-off-by: Timothy McDaniel
---
drivers/event/dlb2/dlb2.c| 35 +-
drivers/event/dlb2/dlb2_xstats.c | 1240 ++
drivers/event/dlb2/meson.build |1 +
3
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
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
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
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_log.h | 25 +
1 file changed, 25 insertion
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
---
config/rte_config.h | 7 +
doc/guides/eventdevs/dlb2
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
On 16-Oct-20 8:10 AM, Nithin Dabilpuram wrote:
On Thu, Oct 15, 2020 at 04:10:31PM +0100, Burakov, Anatoly wrote:
On 15-Oct-20 12:57 PM, Nithin Dabilpuram wrote:
On Thu, Oct 15, 2020 at 3:31 PM Burakov, Anatoly
wrote:
On 15-Oct-20 7:09 AM, Nithin Dabilpuram wrote:
On Wed, Oct 14, 2020 at 04:
Hi Akhil,
just one more thing, rest looks good
> diff --git a/app/test/test_security.c b/app/test/test_security.c
> index 77fd5adc6..62e4991eb 100644
> --- a/app/test/test_security.c
> +++ b/app/test/test_security.c
> @@ -363,8 +392,13 @@ static struct mock_session_destroy_data {
> static int
The API ``rte_security_session_create`` takes only single
mempool for session and session private data. So the
application need to create mempool for twice the number of
sessions needed and will also lead to wastage of memory as
session private data need more memory compared to session.
Hence the A
Currently, the flow id is allocated inside ulp_mapper_flow_create.
However with vxlan decap feature if F2 flow comes before F1 flow
then F2 is cached and not really installed in the hardware which
means the code will return without calling ulp_mapper_flow_create.
But, ULP has to still return valid
vxlan decap offload can happen in stages. The offload request may
not come as a single flow request rather may come as two flow offload
requests F1 & F2. This patch is adding support for this two stage
offload design. The match criteria for F1 is O_DMAC, O_SMAC,
O_DST_IP, O_UDP_DPORT and actions ar
From: Somnath Kotur
Instead of vfr_alloc for Wh+ and pair_alloc for Stingray, converge
to cfa_pair_alloc/free for both and set the cmd request structure
bits accordingly.
As part of this, remove the old vfr_alloc cmd definitions as FW has
deprecated support for them
Signed-off-by: Somnath Kotur
From: Kishore Padmanabha
Added support for the key and mask fields encoding for the
wildcard tcam entry.
Signed-off-by: Kishore Padmanabha
Reviewed-by: Michael Baucom
---
drivers/net/bnxt/tf_ulp/ulp_mapper.c | 47 +++--
drivers/net/bnxt/tf_ulp/ulp_utils.c | 125 +
From: Farah Smith
Legacy devices require PF set of base addresses for EEM operation.
A table scope id is a logical construct and is mapped to the PF
associated with the communications channel used.
In the case of a VF, the parent PF is used.
Signed-off-by: Farah Smith
Reviewed-by: Randy Schache
From: Kishore Padmanabha
Added support for parent flow accumulation counters, the child flow
counters are aggregated to get the parent flow counter details.
Signed-off-by: Kishore Padmanabha
Reviewed-by: Shahaji Bhosle
---
drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 92 +-
drivers/n
> From: Richardson, Bruce
>
> When testing on some x86 platforms, code compiled with meson was observed
> running at a different power-license level to that compiled with make. This
> is due to the fact that meson auto-detects the instruction sets available on
> the system and enabled AVX512
From: Somnath Kotur
`nxt_resource_idx` could be zero in some cases which is invalid and
should be part of the while loop condition. Also synchronize access to
the flow db using the fdb_lock
Fixes: 306c2d28e247 ("net/bnxt: support count action in flow query")
Signed-off-by: Somnath Kotur
Review
From: Farah Smith
New API to map a PARIF to an EEM table scope (set of rx and tx EEM
base addresses). Uses HWRM_TF_GLOBAL_CFG_SET HWRM to configure.
Adjustments to tf_global_cfg_set() to reduce overhead and nominal
name clarification.
Signed-off-by: Farah Smith
Reviewed-by: Randy Schacher
---
From: Peter Spreadborough
- Add build option to select either 2 or 4 slot EM entries.
- The default is 4 slot entries.
Signed-off-by: Peter Spreadborough
Reviewed-by: Randy Schacher
---
drivers/net/bnxt/tf_core/tf_session.h | 16
1 file changed, 8 insertions(+), 8 deletions(-
From: Farah Smith
Updated the SR ULP requested resource counts to reflect
those available after AFM resources are accounted for.
Signed-off-by: Farah Smith
Reviewed-by: Randy Schacher
---
drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 40 +++---
1 file changed, 20 insert
From: Jay Ding
This reverts commit 1312374a4e3c1851ae5e0d52cb8788c5b5e76fe0.
Signed-off-by: Jay Ding
Reviewed-by: Randy Schacher
---
drivers/net/bnxt/tf_core/tf_em_common.c | 85 +
drivers/net/bnxt/tf_core/tf_em_common.h | 27 +--
drivers/net/bnxt/tf_co
From: Jay Ding
Add SR support in truflow.
Signed-off-by: Jay Ding
Reviewed-by: Farah Smith
---
drivers/net/bnxt/tf_core/cfa_resource_types.h | 95 ++-
drivers/net/bnxt/tf_core/tf_core.c| 3 +-
drivers/net/bnxt/tf_core/tf_device.c | 9 ++-
drivers
From: Peter Spreadborough
- Moved P4 specific code under the P4 directory
- Added P45 skeleton code for SR to build on
Signed-off-by: Peter Spreadborough
Reviewed-by: Farah Smith
---
drivers/net/bnxt/hcapi/hcapi_cfa.h | 39
drivers/net/bnxt/tf_core/tf_co
This patchset has support for vxlan decap full offload,
SR device support in tf_core and a few bug fixes.
Farah Smith (3):
net/bnxt: map table scope API
net/bnxt: table scope to PF Mapping for SR and Wh+
net/bnxt: update SR ULP resource counts
Jay Ding (2):
net/bnxt: add stingray support
17/10/2020 01:43, Ferruh Yigit:
> On 10/16/2020 10:58 PM, Ferruh Yigit wrote:
> > On 10/16/2020 1:05 PM, Ferruh Yigit wrote:
> >> On 10/13/2020 4:32 PM, Ferruh Yigit wrote:
> >>> On 10/13/2020 3:53 PM, Andrew Rybchenko wrote:
> Use ENODEV as the error code if specified port ID is invalid.
> >>
66 matches
Mail list logo