Re: [dpdk-dev] [PATCH v3 1/4] ethdev: fix integrity flow item

2021-05-01 Thread Ori Kam
Hi > -Original Message- > From: Ajit Khaparde > Sent: Friday, April 30, 2021 12:20 AM > To: Gregory Etelson > Subject: Re: [PATCH v3 1/4] ethdev: fix integrity flow item > > On Thu, Apr 29, 2021 at 11:37 AM Gregory Etelson > wrote: > > > > Add integrity item definition to the rte_flow_

[dpdk-dev] [PATCH] examples/rxtx_callbacks: fix port ID format specifier

2021-05-01 Thread Dmitry Kozlyuk
Use "%u" and a cast as in other places when port ID is formatted. This fixes -Wformat warning with clang 10.0.0 on Windows. Fixes: f8244c6399d9 ("ethdev: increase port id range") Cc: sta...@dpdk.org Signed-off-by: Dmitry Kozlyuk --- examples/rxtx_callbacks/main.c | 4 ++-- 1 file changed, 2 ins

[dpdk-dev] [PATCH 3/3] eal/windows: cleanup interrupt resources

2021-05-01 Thread Dmitry Kozlyuk
Interrupt manager in Windows EAL allocates on IOCP and starts a control thread that runs indefinitely. At DPDK cleanup this thread was not stopped and IOCP handle was not closed. Gracefully stop interrupt-handling in rte_eal_cleanup(). The thread already closes IOCP handle before exiting. Fixes:

[dpdk-dev] [PATCH 2/3] eal/windows: fix interrupt thread handle leakage

2021-05-01 Thread Dmitry Kozlyuk
Each time a work was scheduled in the interrupt thread, usually an alarm, a handle was opened but not closed. Opening a handle is a system call, which harms alarm precision. Instead of opening and closing a handle each time, open it when interrupt thread starts and close it when the thread finishe

[dpdk-dev] [PATCH 1/3] eal/windows: fix use of incorrect thread ID

2021-05-01 Thread Dmitry Kozlyuk
Interrupt thread ID retained its value after interrupt thread finish. Other interrupt routines could then operate on the wrong thread. Clear interrupt thread ID before thread termination. Fixes: 5c016fc0205a ("eal/windows: add interrupt thread skeleton") Cc: sta...@dpdk.org Signed-off-by: Dmitry

Re: [dpdk-dev] [PATCH v6 04/10] eal: implement functions for thread affinity management

2021-05-01 Thread Dmitry Kozlyuk
2021-04-02 18:39 (UTC-0700), Narcisa Ana Maria Vasile: [...] > +/** > + * Get the affinity of thread 'thread_id' and store it > + * in 'cpuset'. > + * > + * @param thread_id > + *Id of the thread for which to get the affinity. > + * > + * @param cpuset_size > + *Size of the cpu set. > + * >

Re: [dpdk-dev] [PATCH] test/timer: fix memzone reserve failure check

2021-05-01 Thread Carrillo, Erik G
> -Original Message- > From: Min Hu (Connor) > Sent: Thursday, April 22, 2021 4:19 AM > To: dev@dpdk.org > Cc: Yigit, Ferruh ; rsanf...@akamai.com; Carrillo, > Erik G > Subject: [PATCH] test/timer: fix memzone reserve failure check > > Segmentation fault may occur without checking if mem

[dpdk-dev] [PATCH v3 1/1] event/dlb2: optimize Dequeue Operations

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Convert code to use x86 vector instructions, thereby significantly improving dequeue performance. Signed-off-by: Timothy McDaniel Signed-off-by: Harry Van Haaren --- drivers/event/dlb2/dlb2.c | 445 + drivers/event/dlb2/dlb2_priv.h |

[dpdk-dev] [PATCH v3 0/1] Optimize DLB2 Dequeue Operations

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel This patch converts the PMD to use x86 vector instructions, thereby significantly improving dequeue performance. Changes since V2: 1) Rebased patch on top of dpdk-next-eventdev 2) Use drivers/event/dlb2 as source directory to patch, thereby taking into account that the

[dpdk-dev] [PATCH v5 26/26] doc/dlb2: update documentation for v2.5

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

[dpdk-dev] [PATCH v5 25/26] event/dlb2: move rte config defines to runtime devargs

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

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

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

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel As support for DLB v2.5 was added, modifications were made to dlb_hw_types_new.h, but the old file needed to be preserved during the port in order to meet the requirement that individual patches in a series each compile successfully. Since the DLB v2.5 support is completely

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

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

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions that perform the sequence number management functions. These include getting a groups number of sequence numbers per queue, managing in-use slots, getting the current occupancy, and setting sequence numbers for a group. The logic is very s

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for finishing the queue map/unmap operation, which is an asynchronous operation. The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. A

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for configuring sparse CQ mode, where each cache line contains just one QE instead of 4. The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit n

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level hardware functions responsible for getting the queue depth. The command arguments are also validated. The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Addit

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

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

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for starting the scheduling domain. Once a domain is started, its resources can no longer be configured, except for QID remapping and port enable/disable. The start domain arguments are validated, and an error is returned if val

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for mapping queues to ports. These functions also validate the map arguments and verify that the maximum number of queues linked to a load balanced port does not exceed the capabilities of the hardware. The logic is very simila

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for removing the linkage between a queue and a load balanced port. Runtime checks are performed on the port and queue to make sure the state is appropriate for the unmap operation, and the unmap arguments are also validated. Th

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for creating directed queues. These functions configure the depth threshold, configure queue depth, and validate the queue creation arguments. The logic is very similar to what was done for v2.0, but the new combined register m

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for creating directed ports. These functions create the producer port (PP), configure the consumer queue (CQ), configure queue depth, and validate the port creation arguments. The logic is very similar to what was done for v2.0

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Reset hardware registers, consumer queues, ports, interrupts and software. Queues must also be drained as part of the reset process. The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit nam

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Update the low level HW functions responsible for creating load balanced ports. These functions create the producer port (PP), configure the consumer queue (CQ), and validate the port creation arguments. The logic is very similar to what was done for v2.0, but the new comb

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel Updated low level hardware functions related to configuring load balanced queues. These functions create the queues, as well as attach related resources required by load balanced queues, such as sequence numbers. The logic is very similar to what was done for v2.0, but the

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

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

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

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel This commit adds support for DLB v2.5 probe-time hardware init, and sets up a framework for incorporating the remaining changes required to support DLB v2.5. DLB v2.0 and DLB v2.5 are similar in many respects, but their register offsets and definitions are different. As a

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

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

[dpdk-dev] [PATCH v5 00/26] Add DLB v2.5

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel This patch series adds support for DLB v2.5 to the current DLB V2.0 PMD. The resulting PMD supports both hardware versions. The main differences between the DLB v2.5 and v2.0 hardware are: - Number of queues/ports - DLB v2.5 uses a combined credit pool, whereas DLB v2.0

[dpdk-dev] [PATCH v5 01/26] event/dlb2: minor code cleanup

2021-05-01 Thread McDaniel, Timothy
From: Timothy McDaniel 1) Remove references to FPGA. 2) Do not include dlb2_mbox.h, it is not needed. 3) Remove duplicate macros/defines that were present in both dlb2_priv.h and dlb2_hw_types.h. Update dlb2_resource.c to include dlb2_priv.h so that it picks up the macros/defines that

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

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

[dpdk-dev] [kmods PATCH 2/3] windows/virt2phys: do not expose pageable physical addresses

2021-05-01 Thread Dmitry Kozlyuk
virt2phys relied on the user to ensure that memory for which physical address (PA) is obtained is non-pageable and remains such for the lifetime of the process. While DPDK does lock pages in memory, virt2phys can be accessed by any process with sufficient privileges. A malicious process could get P

[dpdk-dev] [kmods PATCH 3/3] windows/virt2phys: add tracing

2021-05-01 Thread Dmitry Kozlyuk
WPP tracing [1] allows kernel drivers to print logs that can be viewed without attaching a debugger to the running system. Traces are colelcted only when enabled. Instrument virt2phys with traces: * ERROR: failures that prevent the driver from working. * WARNING: incorrect calls to the driver. *

[dpdk-dev] [kmods PATCH 1/3] windows/virt2phys: use local time for signing

2021-05-01 Thread Dmitry Kozlyuk
Inf2Cat utility for signing drivers considers time in UTC by default and aborts with "date in the future" error when developing in positive-offset timezones. Set "Use Local Time" flag to fix it. Signed-off-by: Dmitry Kozlyuk --- windows/virt2phys/virt2phys.vcxproj | 1 + 1 file changed, 1 insert

[dpdk-dev] [kmods PATCH 0/3] windows/virt2phys: fix paging issue

2021-05-01 Thread Dmitry Kozlyuk
Physical addresses exposed by virt2phys driver could become pageable. This presents stability and security issues that prevent Microsoft from signing virt2phys, because a signed driver would be trusted by all end-user machines. Ensure that memory for which physical addresses are exposed by virt2ph

[dpdk-dev] [pull-request]dpdk-next-net-eventdev - 21.05 - PRE-RC2

2021-05-01 Thread Jerin Jacob Kollanukkaran
Pending items: - Based on the availability of the DLB2 driver, I may have another pull request for rc2 or rc3. The following changes since commit 1b593b9c832e9b284cc59665fe662242a3fc1daf: version: 21.05-rc1 (2021-04-22 00:28:57 +0200) are available in the Git repository at: http://dpdk.o

Re: [dpdk-dev] [PATCH 2/2] eventdev: fix memory leakage when create thread fail

2021-05-01 Thread Jerin Jacob
On Sat, May 1, 2021 at 6:08 PM Jerin Jacob wrote: > > On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) wrote: > > > > From: Chengwen Feng > > > > This patch fixes the issue that epoll_events memory is not released > > after the intr thread created fail. > > > > Fixes: 3810ae435783 ("eventdev: add

Re: [dpdk-dev] [PATCH 2/2] eventdev: fix memory leakage when create thread fail

2021-05-01 Thread Jerin Jacob
On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) wrote: > > From: Chengwen Feng > > This patch fixes the issue that epoll_events memory is not released > after the intr thread created fail. > > Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") > Cc: sta...@dpdk.org > > Si

Re: [dpdk-dev] [PATCH 1/2] eventdev: remove redundant setting thread name

2021-05-01 Thread Jerin Jacob
On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) wrote: > > From: Chengwen Feng > > The thread name already set by rte_ctrl_thread_create() API, so remove > the call of rte_thread_setname() API. > > Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") > Cc: sta...@dpdk.org >

Re: [dpdk-dev] [PATCH v3 00/33] Marvell CNXK Event device Driver

2021-05-01 Thread Jerin Jacob
On Fri, Apr 30, 2021 at 7:23 PM wrote: > > From: Pavan Nikhilesh > > This patchset adds support for Marvell CN106XX SoC based on 'common/cnxk' > driver. In future, CN9K a.k.a octeontx2 will also be supported by same > driver when code is ready and 'event/octeontx2' will be deprecated. > > v3 Chan