[dpdk-dev] [RFC 0/7] crypto/ipsec_mb: introduce ipsec_mb framework

2021-06-18 Thread pbronowx
This set of patches introduces the new framework making all common code of SW crypto PMDs implementations build on top of intel-ipsec-mb library sharable, also helps to reduce future effort on the code maintenance and future updates. It also moves all SW PMD implementations specific details into si

[dpdk-dev] [RFC 1/7] crypto/ipsec_mb: introduce ipsec_mb framework

2021-06-18 Thread pbronowx
This patch introduces the new framework making all common code of SW crypto PMDs implementations built on top of intel-ipsec-mb library shareable, also helps to reduce future effort on the code maintenance and feature updates. Signed-off-by: Fan Zhang --- drivers/crypto/ipsec_mb/meson.build

[dpdk-dev] [RFC 2/7] crypto/ipsec_mb: move aesni-mb PMD to ipsec_mb framework

2021-06-18 Thread pbronowx
This patch removes crypto/aesni_mb folder and gathers all aesni-mb PMD implementation specific details into single file pmd_aesni_mb.c in crypto/ipsec_mb. Signed-off-by: pbronowx --- .../crypto/aesni_mb/aesni_mb_pmd_private.h| 337 drivers/crypto/aesni_mb/meson.build | 25 -

[dpdk-dev] [RFC 3/7] crypto/ipsec_mb: move aesni-gcm PMD to ipsec_mb framework

2021-06-18 Thread pbronowx
This patch removes crypto/aesni_gcm folder and gathers all aesni-gcm PMD implementation specific details into single file pmd_aesni_gcm.c in crypto/ipsec_mb folder. Signed-off-by: pbronowx --- drivers/crypto/aesni_gcm/aesni_gcm_ops.h | 104 -- drivers/crypto/aesni_gcm/aesni_gcm_pmd.c

[dpdk-dev] [RFC 4/7] crypto/ipsec_mb: move kasumi PMD to ipsec_mb framework

2021-06-18 Thread pbronowx
This patch removes crypto/kasumi folder and gathers all kasumi PMD implementation specific details into single file pmd_kasumi.c in crypto/ipsec_mb folder. Signed-off-by: pbronowx --- drivers/crypto/ipsec_mb/meson.build | 3 +- drivers/crypto/ipsec_mb/pmd_kasumi.c | 557

[dpdk-dev] [RFC 5/7] crypto/ipsec_mb: move snow3g PMD to ipsec_mb framework

2021-06-18 Thread pbronowx
This patch removes crypto/snow3g folder and gathers all snow3g PMD implementation specific details into single file pmd_snow3g.c in crypto/ipsec_mb folder. Signed-off-by: pbronowx --- drivers/crypto/ipsec_mb/meson.build | 3 +- .../pmd_snow3g.c} | 465

[dpdk-dev] [RFC 6/7] crypto/snow3g: add support for digest appended ops

2021-06-18 Thread pbronowx
This patch enable out-of-place auth-cipher operations where digest should be encrypted among with the rest of raw data. It also adds support for partially encrypted digest when using auth-cipher operations. Fixes: 7c87e2d7b359 ("crypto/snow3g: use IPsec library"). Merged to ipsec_mb framework. Si

[dpdk-dev] [RFC 7/7] crypto/ipsec_mb: move zuc PMD to ipsec_mb framework

2021-06-18 Thread pbronowx
This patch removes crypto/zuc folder and gathers all zuc PMD implementation specific details into single file pmd_zuc.c in crypto/ipsec_mb folder. Signed-off-by: pbronowx --- drivers/crypto/ipsec_mb/meson.build | 3 +- .../{zuc/rte_zuc_pmd.c => ipsec_mb/pmd_zuc.c} | 456 -

Re: [dpdk-dev] [PATCH] kni: fix compilation on SLES15-SP3

2021-06-18 Thread Marco Varlese
Hello, On 6/17/21 8:41 AM, Thomas Monjalon wrote: 17/06/2021 08:14, Christian Ehrhardt: On Thu, Jun 10, 2021 at 12:30 PM Christian Ehrhardt wrote: On Thu, Jun 10, 2021 at 10:39 AM Christian Ehrhardt wrote: On Tue, Jun 8, 2021 at 1:17 PM Ferruh Yigit wrote: On 6/2/2021 3:33 PM, Christian E

[dpdk-dev] [PATCH] net/octeontx2: use runtime lso format indices

2021-06-18 Thread Nithin Dabilpuram
Currently lso formats setup initially are expected to be compile time constants and start from 0. Change the logic in slow and fast path so that LSO format indexes are only determined runtime. Fixes: 3b635472a998 ("net/octeontx2: support TSO offload") Cc: sta...@dpdk.org Signed-off-by: Nithin Da

Re: [dpdk-dev] [RFC 0/7] crypto/ipsec_mb: introduce ipsec_mb framework

2021-06-18 Thread David Marchand
Hello, On Fri, Jun 18, 2021 at 2:18 PM pbronowx wrote: > > This set of patches introduces the new framework making all common code of > SW crypto PMDs implementations build on top of intel-ipsec-mb library > sharable, also helps to reduce future effort on the code maintenance and > future updates

Re: [dpdk-dev] [PATCH] kni: fix wrong mbuf alloc count in kni_allocate_mbufs

2021-06-18 Thread Ferruh Yigit
On 5/31/2021 1:09 PM, wangyunjian wrote: > From: Yunjian Wang > > In kni_allocate_mbufs(), we alloc mbuf for alloc_q as this code. > allocq_free = (kni->alloc_q->read - kni->alloc_q->write - 1) \ > & (MAX_MBUF_BURST_NUM - 1); > The value of allocq_free maybe zero (e.g 32 & (32 - 1)

[dpdk-dev] [PATCH v3 00/20] net/sfc: support flow API COUNT action

2021-06-18 Thread Andrew Rybchenko
Update base driver and support COUNT action in transfer flow rules. v3: - fix build brekage because of incorrectly rebased and squashed in fix v2: - add release notes - add missing documentaion - fix spelling - handle query in stopped gracefully Andrew Rybchenko (6): net/sfc: do not en

[dpdk-dev] [PATCH v3 01/20] net/sfc: introduce ethdev Rx queue ID

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov Make software index of an Rx queue and ethdev index separate. When an ethdev RxQ is accessed in ethdev callbacks, an explicit ethdev queue index is used. This is a preparation to introducing non-ethdev Rx queues. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko R

[dpdk-dev] [PATCH v3 02/20] net/sfc: do not enable interrupts on internal Rx queues

2021-06-18 Thread Andrew Rybchenko
rxq_intr flag requests support for interrupt mode for ethdev Rx queues. There is no internal Rx queues yet. Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/sfc_ev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/sfc/sfc_ev.c b/drivers/net/sfc/sfc_ev.c inde

[dpdk-dev] [PATCH v3 03/20] common/sfc_efx/base: separate target EvQ and IRQ config

2021-06-18 Thread Andrew Rybchenko
Target EvQ and IRQ number are specified in the same location in MCDI request. The value is treated as IRQ number if the event queue is interrupting (corresponding flag is set) and as target event queue otherwise. However it is better to separate it on helper API level to make it more clear. Signe

Re: [dpdk-dev] [PATCH v2 00/20] net/sfc: support flow API COUNT action

2021-06-18 Thread Andrew Rybchenko
On 6/17/21 11:37 AM, David Marchand wrote: > Hello Andrew, > > On Fri, Jun 4, 2021 at 4:24 PM Andrew Rybchenko > wrote: >> >> Update base driver and support COUNT action in transfer flow rules. >> >> v2: >> - add release notes >> - add missing documentaion >> - fix spelling >> - handle query

[dpdk-dev] [PATCH v3 04/20] common/sfc_efx/base: support custom EvQ to IRQ mapping

2021-06-18 Thread Andrew Rybchenko
Custom mapping is actually supported for EF10 and EF100 families only. A driver (e.g. DPDK PMD) may require to customize mapping of EvQ to interrupts if, for example, extra EvQ are used for house-keeping in polling or wake up (via another EvQ) mode. Signed-off-by: Andrew Rybchenko Reviewed-by: A

[dpdk-dev] [PATCH v3 05/20] net/sfc: explicitly control IRQ used for Rx queues

2021-06-18 Thread Andrew Rybchenko
Interrupts support has assumptions on interrupt numbers used for LSC and Rx queues. The first interrupt is used for LSC, subsequent interrupts are used for Rx queues. Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_ev.c | 32 1

[dpdk-dev] [PATCH v3 06/20] net/sfc: introduce ethdev Tx queue ID

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov Make software index of a Tx queue and ethdev index separate. When an ethdev TxQ is accessed in ethdev callbacks, an explicit ethdev queue index is used. This is a preparation to introducing non-ethdev Tx queues. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Re

[dpdk-dev] [PATCH v3 07/20] common/sfc_efx/base: add ingress m-port RxQ flag

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov Add a flag to request support for ingress m-port on an RxQ. Implement it only for Riverhead, other families will return an error if the flag is set. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/c

[dpdk-dev] [PATCH v3 08/20] common/sfc_efx/base: add user mark RxQ flag

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov Add a flag to request support for user mark field on an RxQ. The field is required to retrieve generation count value from counter RxQ. Implement it only for Riverhead and EF10 ESSB since they support the field in the Rx prefix. Signed-off-by: Igor Romanov Signed-off-by: And

[dpdk-dev] [PATCH v3 09/20] net/sfc: add abstractions for the management EVQ identity

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov Add a function returning management event queue software index. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_ev.c | 2 +- drivers/net/sfc/sfc_ev.h | 6 ++ 2 files changed, 7 insertions(+), 1 deletion(-)

[dpdk-dev] [PATCH v3 10/20] net/sfc: add support for initialising different RxQ types

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov Add extra EFX flags to RxQ info initialization API to support choosing different RxQ types and make the API public to use it in for counter queues. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_rx.c | 10 +

[dpdk-dev] [PATCH v3 11/20] net/sfc: add NUMA-aware registry of service logical cores

2021-06-18 Thread Andrew Rybchenko
The driver requires service cores for housekeeping. Share these cores for many adapters and various purposes to avoid extra CPU overhead. Since housekeeping services will talk to NIC, it should be possible to choose logical core on matching NUMA node. Signed-off-by: Andrew Rybchenko Reviewed-by:

[dpdk-dev] [PATCH v3 12/20] net/sfc: reserve RxQ for counters

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov MAE delivers counters data as special packets via dedicated Rx queue. Reserve an RxQ so that it does not interfere with ethdev Rx queues. A routine will be added later to handle these packets. There is no point to reserve the queue if no service cores are available and counter

[dpdk-dev] [PATCH v3 13/20] common/sfc_efx/base: add counter creation MCDI wrappers

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov User will be able to create and free MAE counters. Support for associating counters with action set will be added in upcoming patches. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/common/sfc_efx/

[dpdk-dev] [PATCH v3 14/20] common/sfc_efx/base: add counter stream MCDI wrappers

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov The MCDIs will be used to control counter Rx queue packet flow. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/common/sfc_efx/base/efx.h | 32 ++ drivers/common/sfc_efx/base/efx_mae.c | 13

[dpdk-dev] [PATCH v3 15/20] common/sfc_efx/base: support counter in action set

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov User will be able to associate counter with MAE action set to collect counter packets and bytes for a specific action set. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/common/sfc_efx/base/efx.h

[dpdk-dev] [PATCH v3 16/20] net/sfc: add Rx datapath method to get pushed buffers count

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov The information about the number of pushed Rx buffers is required for counter Rx queue to know when to give credits to counter stream. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/net/sfc/sfc_dp_

[dpdk-dev] [PATCH v3 17/20] common/sfc_efx/base: add max MAE counters to limits

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov The information about the maximum number of MAE counters is crucial to the counter support in the driver. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/common/sfc_efx/base/efx.h | 1 + drivers

[dpdk-dev] [PATCH v3 18/20] common/sfc_efx/base: add packetiser packet format definition

2021-06-18 Thread Andrew Rybchenko
Packetiser composes packets with MAE counters update. Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton --- .../base/efx_regs_counters_pkt_format.h | 87 +++ 1 file changed, 87 insertions(+) create mode 100644 drivers/common/sfc_efx/base/efx_regs_counters_pkt_form

[dpdk-dev] [PATCH v3 20/20] net/sfc: support flow API query for count actions

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov The query reports the number of hits for a counter associated with a flow rule. Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton Reviewed-by: Ivan Malov --- drivers/net/sfc/sfc_flow.c| 48 ++- drivers/net/sf

[dpdk-dev] [PATCH v3 19/20] net/sfc: support flow action COUNT in transfer rules

2021-06-18 Thread Andrew Rybchenko
From: Igor Romanov For now, a rule may have only one dedicated counter, shared counters are not supported. HW delivers (or "streams") counter readings using special packets. The driver creates a dedicated Rx queue to receive such packets and requests that HW start "streaming" the readings to it.

[dpdk-dev] [PATCH v5 0/4] vhost: Fix and improve NUMA reallocation

2021-06-18 Thread Maxime Coquelin
This patch series first fixes missing reallocations of some Virtqueue and device metadata. Then, it improves the numa_realloc function by using rte_realloc_socket API that takes care of the memcpy & freeing. The VQs NUMA IDs are also saved in the VQ metadata and used for every allocations so that

[dpdk-dev] [PATCH v5 1/4] vhost: fix missing memory table NUMA realloc

2021-06-18 Thread Maxime Coquelin
When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the Vhost memory table was missing, which likely causes at least one cross-NUMA accesses for eve

[dpdk-dev] [PATCH v5 3/4] vhost: fix missing cache logging NUMA realloc

2021-06-18 Thread Maxime Coquelin
When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the log cache on the new NUMA node was not done. This patch fixes this by reallocating it if it

[dpdk-dev] [PATCH v5 4/4] vhost: fix NUMA reallocation with multiqueue

2021-06-18 Thread Maxime Coquelin
Since the Vhost-user device initialization has been reworked, enabling the application to start using the device as soon as the first queue pair is ready, NUMA reallocation no more happened on queue pairs other than the first one since numa_realloc() was returning early if the device was running.

[dpdk-dev] [PATCH v5 2/4] vhost: fix missing guest pages table NUMA realloc

2021-06-18 Thread Maxime Coquelin
When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the guest pages table was missing, which likely causes at least one cross-NUMA accesses for ever

[dpdk-dev] [PATCH v6 0/7] vhost: Fix and improve NUMA reallocation

2021-06-18 Thread Maxime Coquelin
This patch series first fixes missing reallocations of some Virtqueue and device metadata. Then, it improves the numa_realloc function by using rte_realloc_socket API that takes care of the memcpy & freeing. The VQs NUMA IDs are also saved in the VQ metadata and used for every allocations so that

[dpdk-dev] [PATCH v6 1/7] vhost: fix missing memory table NUMA realloc

2021-06-18 Thread Maxime Coquelin
When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the Vhost memory table was missing, which likely causes at least one cross-NUMA accesses for eve

[dpdk-dev] [PATCH v6 2/7] vhost: fix missing guest pages table NUMA realloc

2021-06-18 Thread Maxime Coquelin
When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the guest pages table was missing, which likely causes at least one cross-NUMA accesses for ever

[dpdk-dev] [PATCH v6 3/7] vhost: fix missing cache logging NUMA realloc

2021-06-18 Thread Maxime Coquelin
When the guest allocates virtqueues on a different NUMA node than the one the Vhost metadata are allocated, both the Vhost device struct and the virtqueues struct are reallocated. However, reallocating the log cache on the new NUMA node was not done. This patch fixes this by reallocating it if it

[dpdk-dev] [PATCH v6 4/7] vhost: fix NUMA reallocation with multiqueue

2021-06-18 Thread Maxime Coquelin
Since the Vhost-user device initialization has been reworked, enabling the application to start using the device as soon as the first queue pair is ready, NUMA reallocation no more happened on queue pairs other than the first one since numa_realloc() was returning early if the device was running.

[dpdk-dev] [PATCH v6 5/7] vhost: improve NUMA reallocation

2021-06-18 Thread Maxime Coquelin
This patch improves the numa_realloc() function by making use of rte_realloc_socket(), which takes care of the memory copy and freeing of the old data. Suggested-by: David Marchand Signed-off-by: Maxime Coquelin --- lib/vhost/vhost_user.c | 186 ++--- 1 file

[dpdk-dev] [PATCH v6 6/7] vhost: allocate all data on same node as virtqueue

2021-06-18 Thread Maxime Coquelin
This patch saves the NUMA node the virtqueue is allocated on at init time, in order to allocate all other data on the same node. While most of the data are allocated before numa_realloc() is called and so the data will be reallocated properly, some data like the log cache are most likely allocated

[dpdk-dev] [PATCH v6 7/7] vhost: convert inflight data to DPDK allocation API

2021-06-18 Thread Maxime Coquelin
Inflight metadata are allocated using glibc's calloc. This patch converts them to rte_zmalloc_socket to take care of the NUMA affinity. Signed-off-by: Maxime Coquelin --- lib/vhost/vhost.c | 4 +-- lib/vhost/vhost_user.c | 67 +++--- 2 files changed, 58

Re: [dpdk-dev] [PATCH v5 0/4] vhost: Fix and improve NUMA reallocation

2021-06-18 Thread Maxime Coquelin
On 6/18/21 3:57 PM, Maxime Coquelin wrote: > This patch series first fixes missing reallocations of some > Virtqueue and device metadata. > > Then, it improves the numa_realloc function by using > rte_realloc_socket API that takes care of the memcpy & > freeing. The VQs NUMA IDs are also saved

Re: [dpdk-dev] [PATCH v2 0/4] vhost: support async dequeue for split ring

2021-06-18 Thread Maxime Coquelin
Hi, It seems the series does not build: http://mails.dpdk.org/archives/test-report/2021-June/199414.html Could you please look at it? Thanks, Maxime On 6/18/21 10:03 PM, Wenwu Ma wrote: > This patch implements asynchronous dequeue data path for split ring. > A new asynchronous dequeue function

Re: [dpdk-dev] [PATCH v2] pmdinfogen: allow padding after NUL terminator

2021-06-18 Thread Thomas Monjalon
27/05/2021 23:24, Dmitry Kozlyuk: > Size of string constant symbol may be larger than its length > measured up to NUL terminator. In this case pmdinfogen included padding > bytes after NUL terminator in generated source, yielding incorrect code. > > Always trim string data to NUL terminator while

[dpdk-dev] DPDK Release Status Meeting 17/06/2021

2021-06-18 Thread Mcnamara, John
Release status meeting minutes {Date} = :Date: 17 June 2021 :toc: .Agenda: * Release Dates * Subtrees * Roadmaps * LTS * Defects * Opens .Participants: * Arm * Broadcom * Canonical * Debian/Microsoft * Intel * Marvell * Nvidia * Red Hat Release Dates

Re: [dpdk-dev] [EXT] Re: [RFC 0/7] crypto/ipsec_mb: introduce ipsec_mb framework

2021-06-18 Thread Akhil Goyal
Hi David, > Hello, > > On Fri, Jun 18, 2021 at 2:18 PM pbronowx > wrote: > > > > This set of patches introduces the new framework making all common code > of > > SW crypto PMDs implementations build on top of intel-ipsec-mb library > > sharable, also helps to reduce future effort on the code main

Re: [dpdk-dev] [PATCH v3] vhost: enable IOMMU for async vhost

2021-06-18 Thread Maxime Coquelin
Hi Xuan, On 6/3/21 7:30 PM, xuan.d...@intel.com wrote: > From: Xuan Ding > > For async copy, it is unsafe to directly use the physical address. > And current address translation from GPA to HPA via SW also takes > CPU cycles, these can all benefit from IOMMU. > > Since the existing DMA engine s

Re: [dpdk-dev] [PATCH v2] lib/rte_rib6: fix stack buffer overflow

2021-06-18 Thread Medvedkin, Vladimir
Hi Owen, Just a few nits inlined below On 16/06/2021 21:18, ohily...@iol.unh.edu wrote: From: Owen Hilyard ASAN found a stack buffer overflow in lib/rib/rte_rib6.c:get_dir. The fix for the stack buffer overflow was to make sure depth was always < 128, since when depth = 128 it caused the inde

Re: [dpdk-dev] [PATCH v2] lib/rte_rib6: fix stack buffer overflow

2021-06-18 Thread Medvedkin, Vladimir
On 18/06/2021 19:22, Medvedkin, Vladimir wrote: Hi Owen, Just a few nits inlined below On 16/06/2021 21:18, ohily...@iol.unh.edu wrote: From: Owen Hilyard ASAN found a stack buffer overflow in lib/rib/rte_rib6.c:get_dir. The fix for the stack buffer overflow was to make sure depth was alw

[dpdk-dev] [PATCH] devtools: script to track map symbols

2021-06-18 Thread Ray Kinsella
Script to track growth of stable and experimental symbols over releases since v19.11. Signed-off-by: Ray Kinsella --- devtools/count_symbols.py | 230 ++ 1 file changed, 230 insertions(+) create mode 100755 devtools/count_symbols.py diff --git a/devtools/cou

[dpdk-dev] [PATCH] net/e1000: fix nic ops function was no initialized in secondary process

2021-06-18 Thread Tengfei Zhang
'e1000_setup_init_funcs' was not called in secondary process, it initialize mac,phy,nvm ops. when secondary process get link status,it will coredump. Signed-off-by: Tengfei Zhang --- drivers/net/e1000/em_ethdev.c | 1 + drivers/net/e1000/igb_ethdev.c | 2 ++ 2 files changed, 3 insertions(+) di

Re: [dpdk-dev] [PATCH] devtools: script to track map symbols

2021-06-18 Thread Stephen Hemminger
On Fri, 18 Jun 2021 17:36:59 +0100 Ray Kinsella wrote: > Script to track growth of stable and experimental symbols > over releases since v19.11. > > Signed-off-by: Ray Kinsella pylint reports some things that should be fixed. Don't worry about the naming style and docstring but others should

[dpdk-dev] [PATCH v10 0/9] eal: Add EAL API for threading

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile EAL thread API **Problem Statement** DPDK currently uses the pthread interface to create and manage threads. Windows does not support the POSIX thread programming model, so it currently relies on a header file that hides the Windows calls under pthread matched interfaces. Gi

[dpdk-dev] [PATCH v10 2/9] eal: add thread attributes

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Implement thread attributes for: * thread affinity * thread priority Implement functions for managing thread attributes. Priority is represented through an enum that allows for two levels: - RTE_THREAD_PRIORITY_NORMAL - RTE_THREAD_PRIORITY_REALTIME_CRITICAL

[dpdk-dev] [PATCH v10 5/9] eal: implement thread priority management functions

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Add function for setting the priority for a thread. Priorities on multiple platforms are similarly determined by a priority value and a priority class/policy. On Linux, the following mapping is created: RTE_THREAD_PRIORITY_NORMAL corresponds to * policy SCHED_OTHER * priorit

[dpdk-dev] [PATCH v10 1/9] eal: add basic threading functions

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Use a portable, type-safe representation for the thread identifier. Add functions for comparing thread ids and obtaining the thread id for the current thread. Signed-off-by: Narcisa Vasile --- lib/eal/common/meson.build| 1 + lib/eal/{unix => common}/rte_threa

[dpdk-dev] [PATCH v10 4/9] eal: implement functions for thread affinity management

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Implement functions for getting/setting thread affinity. Threads can be pinned to specific cores by setting their affinity attribute. Signed-off-by: Narcisa Vasile Signed-off-by: Dmitry Malloy --- lib/eal/common/rte_thread.c | 16 lib/eal/include/rte_thread.h |

[dpdk-dev] [PATCH v10 3/9] eal/windows: translate Windows errors to errno-style errors

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Add function to translate Windows error codes to errno-style error codes. The possible return values are chosen so that we have as much semantical compatibility between platforms as possible. Signed-off-by: Narcisa Vasile --- lib/eal/common/rte_thread.c | 6 +-- lib/eal/

[dpdk-dev] [PATCH v10 7/9] eal: implement functions for mutex management

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Add functions for mutex init, destroy, lock, unlock. Add RTE_STATIC_MUTEX macro to replace static initialization of mutexes. Windows does not have a static initializer. Initialization is only done through InitializeCriticalSection(). The RTE_STATIC_MUTEX calls into the rte_

[dpdk-dev] [PATCH v10 6/9] eal: add thread lifetime management

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Add functions for thread creation, joining, detaching. The *rte_thread_create()* function can optionally receive an rte_thread_attr_t object that will cause the thread to be created with the affinity and priority described by the attributes object. If no rte_thread_attr_t is

[dpdk-dev] [PATCH v10 8/9] eal: implement functions for thread barrier management

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Add functions for barrier init, destroy, wait. A portable type is used to represent a barrier identifier. The rte_thread_barrier_wait() function returns the same value on all platforms. Signed-off-by: Narcisa Vasile --- lib/eal/common/rte_thread.c | 61 ++

[dpdk-dev] [PATCH v10 9/9] eal: add EAL argument for setting thread priority

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Allow the user to choose the thread priority through an EAL command line argument. The user can choose thread priority through an EAL parameter, when starting an application. If EAL parameter is not used, the per-platform default value for thread priority is used. Otherwise

Re: [dpdk-dev] [PATCH v9 01/10] eal: add thread id and simple thread functions

2021-06-18 Thread Narcisa Ana Maria Vasile
On Wed, Jun 09, 2021 at 02:03:48AM +0300, Dmitry Kozlyuk wrote: > 2021-06-04 16:44 (UTC-0700), Narcisa Ana Maria Vasile: > > From: Narcisa Vasile > > > > Use a portable, type-safe representation for the thread identifier. > > Add functions for comparing thread ids and obtaining the thread id > >

Re: [dpdk-dev] [PATCH v9 06/10] eal: add thread lifetime management

2021-06-18 Thread Narcisa Ana Maria Vasile
On Wed, Jun 09, 2021 at 02:04:09AM +0300, Dmitry Kozlyuk wrote: > 2021-06-04 16:44 (UTC-0700), Narcisa Ana Maria Vasile: > [...] > > diff --git a/lib/eal/include/rte_thread.h b/lib/eal/include/rte_thread.h > > index 5c54cd9d67..1d481b9ad5 100644 > > --- a/lib/eal/include/rte_thread.h > > +++ b/lib/

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

2021-06-18 Thread Narcisa Ana Maria Vasile
On Wed, Jun 09, 2021 at 02:03:57AM +0300, Dmitry Kozlyuk wrote: > 2021-06-04 16:44 (UTC-0700), Narcisa Ana Maria Vasile: > [...] > > diff --git a/lib/eal/windows/rte_thread.c b/lib/eal/windows/rte_thread.c > > index 6ea1dc2a05..9e74a538c2 100644 > > --- a/lib/eal/windows/rte_thread.c > > +++ b/lib/

Re: [dpdk-dev] [PATCH v9 10/10] Enable the new EAL thread API

2021-06-18 Thread Narcisa Ana Maria Vasile
On Wed, Jun 09, 2021 at 02:08:22AM +0300, Dmitry Kozlyuk wrote: > 2021-06-07 22:50 (UTC-0700), Narcisa Ana Maria Vasile: > > On Fri, Jun 04, 2021 at 04:44:34PM -0700, Narcisa Ana Maria Vasile wrote: > > > From: Narcisa Vasile > > > > > > Rename pthread_* occurrences with the new rte_thread_* API.

Re: [dpdk-dev] [PATCH v9 10/10] Enable the new EAL thread API

2021-06-18 Thread Narcisa Ana Maria Vasile
On Tue, Jun 08, 2021 at 09:45:44AM +0200, David Marchand wrote: > On Tue, Jun 8, 2021 at 7:50 AM Narcisa Ana Maria Vasile > wrote: > > > > On Fri, Jun 04, 2021 at 04:44:34PM -0700, Narcisa Ana Maria Vasile wrote: > > > From: Narcisa Vasile > > > > > > Rename pthread_* occurrences with the new rte

[dpdk-dev] [PATCH 0/6] Enable the internal EAL thread API

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile This patchset enables the new EAL thread API. Rename pthread* with rte_thread* corresponding symbols. Set thread attributes. Add option for choosing between internal API or external lib. Depends-on: series-17402 ("eal: Add EAL API for threading") Narcisa Vasile (6): eal:

[dpdk-dev] [PATCH 1/6] eal: add function that sets thread name

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Implement function that sets the name of a thread. On Windows, SetThreadDescription() is used. Use GetProcAddress() to obtain the address of the function for MinGW compatibility. Signed-off-by: Narcisa Vasile --- lib/eal/common/rte_thread.c | 17 ++ lib/eal/includ

[dpdk-dev] [PATCH 2/6] eal: add function for control thread creation

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile The existing rte_ctrl_thread_create() function will be replaced with rte_thread_ctrl_thread_create() that uses the internal EAL thread API. This patch only introduces the new control thread creation function. Replacing of the old function needs to be done according to the AB

[dpdk-dev] [PATCH 4/6] lib: enable the new EAL thread API

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Rename pthread* with the new rte_thread* API. Signed-off-by: Narcisa Vasile --- lib/eal/common/eal_common_options.c | 6 ++--- lib/eal/common/eal_common_thread.c | 13 + lib/eal/common/eal_common_trace.c | 1 + lib/eal/common/eal_private.h

[dpdk-dev] [PATCH 5/6] eal: set affinity and priority attributes

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile If the user doesn't specify the priority through the command line arguments, initialize the thread priority to 'normal'. Set thread priority for eal threads. Signed-off-by: Narcisa Vasile --- lib/eal/common/eal_common_thread.c | 11 lib/eal/common/eal_thread.h

[dpdk-dev] [PATCH 3/6] Enable the new EAL thread API in app, drivers and examples

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Rename pthread* with the new rte_thread* API. Signed-off-by: Narcisa Vasile --- app/test/process.h| 8 +-- app/test/test_lcores.c| 18 +++ app/test/test_link_bonding.c | 14 ++--- app/test/test_lpm_p

[dpdk-dev] [PATCH 6/6] Allow choice between internal EAL thread API and external lib

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile The user is offered the option of either using the RTE_THREAD_* API or a 3rd party thread library, through a meson flag called "use_external_thread_lib". By default, this flag is set to FALSE, which means Windows libraries and applications will use the RTE_THREAD_* API for ma

Re: [dpdk-dev] [PATCH v9 06/10] eal: add thread lifetime management

2021-06-18 Thread Dmitry Kozlyuk
2021-06-18 14:41 (UTC-0700), Narcisa Ana Maria Vasile: > On Wed, Jun 09, 2021 at 02:04:09AM +0300, Dmitry Kozlyuk wrote: > > 2021-06-04 16:44 (UTC-0700), Narcisa Ana Maria Vasile: [...] > > > + > > > + HANDLE thread_handle = NULL; > > > + GROUP_AFFINITY thread_affinity; > > > + struct thread_routin

[dpdk-dev] [PATCH v2 2/6] eal: add function for control thread creation

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile The existing rte_ctrl_thread_create() function will be replaced with rte_thread_ctrl_thread_create() that uses the internal EAL thread API. This patch only introduces the new control thread creation function. Replacing of the old function needs to be done according to the AB

[dpdk-dev] [PATCH v2 1/6] eal: add function that sets thread name

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Implement function that sets the name of a thread. On Windows, SetThreadDescription() is used. Use GetProcAddress() to obtain the address of the function for MinGW compatibility. Depends-on: series-17402 ("eal: Add EAL API for threading") Signed-off-by: Narcisa Vasile ---

[dpdk-dev] [PATCH v2 0/6] Enable the internal EAL thread API

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile This patchset enables the new EAL thread API. The newly defined thread attributes, priority and affinity, are used in eal/windows when creating the threads. Similarly, some changes have been done in eal/linux/eal.c and eal/freebsd/eal.c to initialize priority to a default va

[dpdk-dev] [PATCH v2 4/6] lib: enable the new EAL thread API

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Rename pthread* with the new rte_thread* API. Depends-on: series-17402 ("eal: Add EAL API for threading") Signed-off-by: Narcisa Vasile --- lib/eal/common/eal_common_options.c | 6 ++--- lib/eal/common/eal_common_thread.c | 13 + lib/eal/common/eal_commo

[dpdk-dev] [PATCH v2 3/6] Enable the new EAL thread API in app, drivers and examples

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile Rename pthread* with the new rte_thread* API. Depends-on: series-17402 ("eal: Add EAL API for threading") Signed-off-by: Narcisa Vasile --- app/test/process.h| 8 +-- app/test/test_lcores.c| 18 +++ app/test/test_li

[dpdk-dev] [PATCH v2 5/6] eal: set affinity and priority attributes

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile If the user doesn't specify the priority through the command line arguments, initialize the thread priority to 'normal'. Set thread priority for eal threads. Depends-on: series-17402 ("eal: Add EAL API for threading") Signed-off-by: Narcisa Vasile --- lib/eal/common/eal_c

[dpdk-dev] [PATCH v2 6/6] Allow choice between internal EAL thread API and external lib

2021-06-18 Thread Narcisa Ana Maria Vasile
From: Narcisa Vasile The user is offered the option of either using the RTE_THREAD_* API or a 3rd party thread library, through a meson flag called "use_external_thread_lib". By default, this flag is set to FALSE, which means Windows libraries and applications will use the RTE_THREAD_* API for ma

<    1   2