Re: [PATCH 2/2] ethdev: fix race condition in fast-path ops setup

2023-02-24 Thread fengchengwen
On 2023/2/23 21:31, Konstantin Ananyev wrote: > > > If ethdev enqueue or dequeue function is called during > eth_dev_fp_ops_setup(), it may get pre-empted after setting the > function pointers, but before setting the pointer to port data. > In this case the newly r

Re: [PATCH v6 1/3] eal: add rte thread create control API

2023-02-24 Thread Tyler Retzlaff
On Fri, Feb 24, 2023 at 09:13:56AM +0100, David Marchand wrote: > On Wed, Feb 8, 2023 at 10:26 PM Tyler Retzlaff > wrote: > > > > Add rte_thread_create_control API as a replacement for > > rte_ctrl_thread_create to allow deprecation of the use of platform > > specific types in DPDK public API. > >

Re: [PATCH v6 1/3] eal: add rte thread create control API

2023-02-24 Thread Tyler Retzlaff
On Fri, Feb 24, 2023 at 09:13:56AM +0100, David Marchand wrote: > On Wed, Feb 8, 2023 at 10:26 PM Tyler Retzlaff > wrote: > > > > Add rte_thread_create_control API as a replacement for > > rte_ctrl_thread_create to allow deprecation of the use of platform > > specific types in DPDK public API. > >

[PATCH v1 1/1] doc: update to Intel vRAN Boost PMD

2023-02-24 Thread Nicolas Chautru
Cosmetic change to refer explictly to the full name of the PMD Intel vRAN Boost v1. VRB1 acronym is only used as a prefix within the code. Signed-off-by: Nicolas Chautru --- doc/guides/bbdevs/vrb1.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guides/bbdevs/vrb

[PATCH v1 0/1] doc: PMD update

2023-02-24 Thread Nicolas Chautru
Hi Maxime, Just one small change to documentation. I should not have used acronym in a few places. Thanks Nic Nicolas Chautru (1): doc: update to Intel vRAN Boost PMD doc/guides/bbdevs/vrb1.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.34.1

[PATCH v10 2/2] net/i40e: replace put function

2023-02-24 Thread Kamalakshitha Aligeri
Integrated zero-copy put API in mempool cache in i40e PMD. On Ampere Altra server, l3fwd single core's performance improves by 5% with the new API Signed-off-by: Kamalakshitha Aligeri Reviewed-by: Ruifeng Wang Reviewed-by: Feifei Wang Reviewed-by: Morten Brørup --- v3: Fixed the way mbufs are

[PATCH v10 1/2] mempool cache: add zero-copy get and put functions

2023-02-24 Thread Kamalakshitha Aligeri
From: = Morten Brørup Zero-copy access to mempool caches is beneficial for PMD performance, and must be provided by the mempool library to fix [Bug 1052] without a performance regression. [Bug 1052]: https://bugs.dpdk.org/show_bug.cgi?id=1052 Bugzilla ID: 1052 Signed-off-by: Morten Brørup Sig

[PATCH v10 0/2] zero-copy get and put functions

2023-02-24 Thread Kamalakshitha Aligeri
This version combines the following two patches from Morten Brørup and Kamalakshitha Aligeri 1. https://patches.dpdk.org/project/dpdk/patch/20230213122437.122858-1...@smartsharesystems.com/ 2. https://patches.dpdk.org/project/dpdk/patch/20230221055205.22984-3-kamalakshitha.alig...@arm.com/ The sq

[PATCH] service: split tests to perf and autotest to avoid spurious CI failures

2023-02-24 Thread Harry van Haaren
On some CI runs, some service-cores tests spuriously fail as the service lcore thread is not actually scheduled by the OS in the given amount of time. Increasing timeouts has not resolved the issue in the CI, so the solution in this patch is to move them to a separate perf test suite. Signed-off-

Re: [PATCH] net/mana: use RTE_LOG_DP for logs on datapath

2023-02-24 Thread Stephen Hemminger
On Thu, 23 Feb 2023 10:09:17 -0800 Stephen Hemminger wrote: > On Thu, 23 Feb 2023 14:07:25 + > Ferruh Yigit wrote: > > > Overall I am not sure if anyone is interested in driver datapath logs > > other than driver developers themselves. > > > > For datapath logging I think there are two con

RE: [PATCH v2 04/16] test/bbdev: add timeout for latency tests

2023-02-24 Thread Vargas, Hernan
Hi Maxime, > -Original Message- > From: Maxime Coquelin > Sent: Thursday, February 23, 2023 2:32 AM > To: Vargas, Hernan ; dev@dpdk.org; > gak...@marvell.com; Rix, Tom > Cc: Chautru, Nicolas ; Zhang, Qi Z > > Subject: Re: [PATCH v2 04/16] test/bbdev: add timeout for latency tests > >

Re: Bug in rte_mempool_do_generic_get?

2023-02-24 Thread Harris, James R
> On Feb 24, 2023, at 6:56 AM, Honnappa Nagarahalli > wrote: > > > >> -Original Message- >> From: Morten Brørup >> Sent: Friday, February 24, 2023 6:13 AM >> To: Harris, James R ; dev@dpdk.org >> Subject: RE: Bug in rte_mempool_do_generic_get? >> >>> >> >>> If you have a mempool

Re: [PATCH v3] lib/net: add MPLS insert and strip functionality

2023-02-24 Thread Stephen Hemminger
On Fri, 24 Feb 2023 16:25:21 +0500 Tanzeel-inline wrote: > + oh = rte_pktmbuf_mtod(*m, struct rte_ether_hdr *); > + nh = (struct rte_ether_hdr *)(void *) > + rte_pktmbuf_prepend(*m, sizeof(struct rte_mpls_hdr)); Don't need void * cast. Can cast result of prepend (char *) to e

Re: [PATCH v2 00/20] Enable lock annotations on most libraries and drivers

2023-02-24 Thread Gaëtan Rivet
On Fri, Feb 24, 2023, at 16:11, David Marchand wrote: > This is a followup of the series that introduced lock annotations. > I reworked and made annotations work in what seemed the easier cases. > In most cases, I chose to convert inline wrappers around the EAL lock > API to simple macro: I did not

Re: [PATCH v2 16/20] net/failsafe: fix mutex locking

2023-02-24 Thread Gaëtan Rivet
On Fri, Feb 24, 2023, at 16:11, David Marchand wrote: > The pthread mutex API describes cases where locking might fail. > Check fts_enter wrapper return code. > > Signed-off-by: David Marchand Hello David, Thanks for the fix, Acked-by: Gaetan Rivet -- Gaetan Rivet

[PATCH v2 19/20] eal/windows: disable lock check on alarm code

2023-02-24 Thread David Marchand
This code uses locks to implement synchronisation between two threads. There seems nothing wrong with it, just silence the clang lock check. Signed-off-by: David Marchand --- lib/eal/windows/eal_alarm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/eal/windows/eal_alarm.c b/lib/eal/w

[PATCH v2 20/20] enable lock check

2023-02-24 Thread David Marchand
Now that a lot of components can be compiled with the lock checks, invert the logic and opt out for components not ready yet: - drivers/bus/dpaa, - drivers/common/cnxk, - drivers/common/mlx5, - drivers/event/cnxk, - drivers/net/bnx2x, - drivers/net/bnxt, - drivers/net/cnxk, - drivers/net/enic, - dr

[PATCH v2 17/20] net/failsafe: annotate pthread mutex

2023-02-24 Thread David Marchand
Annotate wrappers on top of the pthread mutex API. Signed-off-by: David Marchand --- drivers/net/failsafe/failsafe_private.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/failsafe/failsafe_private.h b/drivers/net/failsafe/failsafe_private.h index 53a451c1b1..97b6f5300d 1

[PATCH v2 18/20] net/hinic: annotate pthread mutex

2023-02-24 Thread David Marchand
Annotate wrappers on top of the pthread mutex API. Signed-off-by: David Marchand --- drivers/net/hinic/base/hinic_compat.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/hinic/base/hinic_compat.h b/drivers/net/hinic/base/hinic_compat.h index aea332046e..89732ca11a 100644

[PATCH v2 16/20] net/failsafe: fix mutex locking

2023-02-24 Thread David Marchand
The pthread mutex API describes cases where locking might fail. Check fts_enter wrapper return code. Signed-off-by: David Marchand --- drivers/net/failsafe/failsafe_ether.c | 3 +- drivers/net/failsafe/failsafe_flow.c | 23 +++-- drivers/net/failsafe/failsafe_ops.c | 142 ++

[PATCH v2 15/20] ethdev: annotate pthread mutex

2023-02-24 Thread David Marchand
fts_enter/exit take mutexes depending on device flags set at initialisation. Annotate those helpers and, since clang does not support conditional locking, waive the lock check on their implementation. Signed-off-by: David Marchand --- lib/ethdev/rte_flow.c | 8 1 file changed, 8 inserti

[PATCH v2 14/20] ipc: annotate pthread mutex

2023-02-24 Thread David Marchand
pthread_cond_timedwait() requires pending_requests.lock being taken. Signed-off-by: David Marchand --- lib/eal/common/eal_common_proc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c index 1fc1d6c53b..aa060ae4dc 100644 -

[PATCH v2 13/20] vdpa/sfc: inherit lock annotations

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. sfc_vdpa_ops.c was relying on an implicit cast of the dev_handle to a vdpa adapter object. Add an explicit conversion. Signed-off-by: David Marchand --- drivers/vdpa/sfc/sfc_v

[PATCH v2 11/20] net/virtio: annotate lock for guest announce

2023-02-24 Thread David Marchand
Expose requirements for helpers dealing with the VIRTIO_DEV_TO_HW(dev)->state_lock lock. Signed-off-by: David Marchand --- drivers/net/virtio/virtio_ethdev.c | 8 drivers/net/virtio/virtio_ethdev.h | 7 +-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/net/v

[PATCH v2 12/20] raw/ifpga: inherit lock annotations

2023-02-24 Thread David Marchand
The checks in those helpers are useless: - all (start/stop/reset/test) callers ensure that dev != NULL, - dev->sd can't be NULL either as it would mean the application is calling those helpers for a dev pointer that did not pass initialisation, Once the checks are removed, the only thing that re

[PATCH v2 10/20] net/sfc: inherit lock annotations

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. One additional change is required in sfc_ev_qpoll() so that clang does see the same lock is being manipulated. Signed-off-by: David Marchand --- drivers/net/sfc/sfc.h | 4

[PATCH v2 09/20] net/sfc: rework locking in proxy code

2023-02-24 Thread David Marchand
Remove one extra layer for proxy code: sfc_get_adapter_by_pf_port_id() now only resolves the sa object and sfc_adapter_(|un)lock() are added were necessary. This will simplify lock checks later. Signed-off-by: David Marchand --- drivers/net/sfc/sfc_repr_proxy.c | 59

[PATCH v2 07/20] net/cxgbe: inherit lock annotations

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. Signed-off-by: David Marchand --- drivers/net/cxgbe/base/adapter.h | 35 +++- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/drivers

[PATCH v2 08/20] net/fm10k: annotate mailbox lock

2023-02-24 Thread David Marchand
Expose requirements for helpers dealing with the FM10K_DEV_PRIVATE_TO_MBXLOCK(hw->back) lock. Signed-off-by: David Marchand --- drivers/net/fm10k/fm10k_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 8b83063

[PATCH v2 06/20] drivers: inherit lock annotations for Intel drivers

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. Signed-off-by: David Marchand --- drivers/common/iavf/iavf_osdep.h | 39 ++ drivers/common/iavf/iavf_prototype.h | 6 drivers/common/idpf/

[PATCH v2 05/20] graph: annotate graph lock

2023-02-24 Thread David Marchand
Export internal lock and annotate associated helper. Signed-off-by: David Marchand --- lib/graph/graph.c | 10 -- lib/graph/graph_private.h | 10 -- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/graph/graph.c b/lib/graph/graph.c index a839a2803b..558

[PATCH v2 04/20] hash: annotate cuckoo hash lock

2023-02-24 Thread David Marchand
__hash_rw_(reader|writer)_(|un)lock helpers take locks depending on conditions that are fixed at the rte_hash object initialisation. So we can tell clang that those helpers unconditionally take/release those locks (and waive the lock check on their implementation). Signed-off-by: David Marchand -

[PATCH v2 02/20] mem: rework malloc heap init

2023-02-24 Thread David Marchand
rte_eal_memory_init() and rte_eal_malloc_heap_init() must be called in a common section taking rte_mcfg_mem_read_lock(). Split rte_eal_malloc_heap_init() in two so that the mem lock is taken in rte_eal_init() making lock checks trivial (once annotated in the next patch). Signed-off-by: David March

[PATCH v2 03/20] mem: annotate shared memory config locks

2023-02-24 Thread David Marchand
Expose internal locks via some internal accessors. Then annotate rte_mcfg_xxx_(read|write)_(|un)lock. Signed-off-by: David Marchand --- lib/eal/common/eal_common_mcfg.c| 66 + lib/eal/include/rte_eal_memconfig.h | 63 +-- lib/eal/version.ma

[PATCH v2 00/20] Enable lock annotations on most libraries and drivers

2023-02-24 Thread David Marchand
This is a followup of the series that introduced lock annotations. I reworked and made annotations work in what seemed the easier cases. In most cases, I chose to convert inline wrappers around the EAL lock API to simple macro: I did not see much value in those wrappers and this is way simpler than

[PATCH v2 01/20] malloc: rework heap lock handling

2023-02-24 Thread David Marchand
Move all heap->lock manipulation to malloc_heap.c to have a single location where to look at and make higher level code unaware of this locking constraint. The destroy helper has been reworked to zero all the heap object but leave the lock untouched. The heap lock is then released through the stan

Re: [PATCH v2] vhost: fix madvise arguments alignment

2023-02-24 Thread Patrick Robb
UNH CI reported an ABI failure for this patch which did not report due to a bug on our end, so I'm manually reporting it now. I see Maxime you already predicted the issue though! *07:58:32* 1 function with some indirect sub-type change:*07:58:32* *07:58:32*[C] 'function int rte_vhost_get_mem_

Re: [PATCH v1] eventdev/crypto: wrong crypto enqueue count stats

2023-02-24 Thread Zhang, Fan
On 11/30/2022 3:11 PM, Ganapati Kundapura wrote: crypto_enq_count is updated on failure to enqueue ops to cryptodev. Updated crypto_enq_count on successful enqueue of ops to cryptodev. Signed-off-by: Ganapati Kundapura diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_e

[PATCH] app/testeventdev: add cipher alg option for cryptodev

2023-02-24 Thread Aakash Sasidharan
Testeventdev crypto adapter symmetric tests are only attempting NULL cipher algorithm. This limits crypto adapter usage with only PMDs that can support NULL cipher algorithm. Also, since NULL cipher algorithm doesn't perform any crypto operation, the performance numbers reported may not reflect the

RE: Bug in rte_mempool_do_generic_get?

2023-02-24 Thread Honnappa Nagarahalli
> -Original Message- > From: Morten Brørup > Sent: Friday, February 24, 2023 6:13 AM > To: Harris, James R ; dev@dpdk.org > Subject: RE: Bug in rte_mempool_do_generic_get? > > > From: Harris, James R [mailto:james.r.har...@intel.com] > > Sent: Friday, 24 February 2023 04.03 > > > > Hi,

RE: Bug in rte_mempool_do_generic_get?

2023-02-24 Thread Morten Brørup
> From: Harris, James R [mailto:james.r.har...@intel.com] > Sent: Friday, 24 February 2023 04.03 > > Hi, > > I've tracked down a regression in SPDK to DPDK commit a2833ecc5 ("mempool: > fix get objects from mempool with cache"). The problem probably goes all the way back to the introduction of

[PATCH v3] lib/net: add MPLS insert and strip functionality

2023-02-24 Thread Tanzeel-inline
From: Tanzeel Ahmed This patch is new version of [PATCH] lib/net: added push MPLS header API. I have also added the MPLS strip functionality to address the question asked in last patch. > You should explain why you add this function. None of the foundational NICs currently supports MPLS insertio

[PATCH v3] lib/net: add MPLS insert and strip functionality

2023-02-24 Thread Tanzeel-inline
From: Tanzeel Ahmed This patch is new version of [PATCH] lib/net: added push MPLS header API. I have also added the MPLS strip functionality to address the question asked in last patch. > You should explain why you add this function. None of the foundational NICs currently supports MPLS insertio

回复: [PATCH v3 2/3] net/i40e: enable direct rearm with separate API

2023-02-24 Thread Feifei Wang
> -邮件原件- > 发件人: Konstantin Ananyev > 发送时间: Thursday, February 2, 2023 10:38 PM > 收件人: Feifei Wang ; Yuying Zhang > ; Beilei Xing ; Ruifeng > Wang > 抄送: dev@dpdk.org; nd ; Honnappa Nagarahalli > > 主题: Re: [PATCH v3 2/3] net/i40e: enable direct rearm with separate API > > 04/01/2023 07:

回复: [PATCH v3 1/3] ethdev: enable direct rearm with separate API

2023-02-24 Thread Feifei Wang
Hi, Konstantin Thanks for your reviewing and sorry for my delayed response. For your comments, we put forward several improvement plans below. Best Regards Feifei > -邮件原件- > 发件人: Konstantin Ananyev > 发送时间: Thursday, February 2, 2023 10:33 PM > 收件人: Feifei Wang ; tho...@monjalon.net; > F

RE: [PATCH v11 21/22] hash: move rte_hash_set_alg out header

2023-02-24 Thread Ruifeng Wang
> -Original Message- > From: Stephen Hemminger > Sent: Thursday, February 23, 2023 5:56 AM > To: dev@dpdk.org > Cc: Stephen Hemminger ; Yipeng Wang > ; > Sameh Gobriel ; Bruce Richardson > ; > Vladimir Medvedkin ; Ruifeng Wang > > Subject: [PATCH v11 21/22] hash: move rte_hash_set_alg

[PATCH v2 11/11] crypto/cnxk: add model check for pdcp chain

2023-02-24 Thread Tejasree Kondoj
Adding cn9k model check for pdcp_chain as it is not supported in cn10k. Signed-off-by: Tejasree Kondoj --- drivers/crypto/cnxk/cnxk_cryptodev_ops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/cnxk/cnxk_cryptodev_ops.c b/drivers/crypto/cnxk/cnxk_cryptodev_o

[PATCH v2 10/11] crypto/cnxk: fix order of ECFPM params

2023-02-24 Thread Tejasree Kondoj
From: Gowrishankar Muthukrishnan Fix the order of ECFPM parameters according to target board. Fixes: 8e39b133235 ("crypto/cnxk: support fixed point multiplication") Signed-off-by: Gowrishankar Muthukrishnan --- drivers/crypto/cnxk/cnxk_ae.h | 48 --- 1 file cha

[PATCH v2 09/11] crypto/cnxk: support cn10k IPsec SG mode

2023-02-24 Thread Tejasree Kondoj
Adding support for scatter-gather mode in 103XX and 106XX lookaside IPsec. Signed-off-by: Tejasree Kondoj --- drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 21 +- drivers/crypto/cnxk/cn10k_ipsec_la_ops.h | 222 -- drivers/crypto/cnxk/cnxk_sg.h | 23 +++ 3 files c

[PATCH v2 08/11] common/cnxk: replace CPT revision check with caps

2023-02-24 Thread Tejasree Kondoj
Replace SG version revision check with capabilities populated from microcode. Signed-off-by: Tejasree Kondoj --- drivers/common/cnxk/hw/cpt.h | 3 ++- drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 2 +- drivers/event/cnxk/cn10k_eventdev.c | 3 ++- 3 files changed, 5 insertions(+

[PATCH v2 07/11] common/cnxk: add errata function for CPT set ctx

2023-02-24 Thread Tejasree Kondoj
Adding function in errata header file for CPT ctx_val and replace CPT revision_id checks with function call. Signed-off-by: Tejasree Kondoj --- drivers/common/cnxk/roc_errata.h | 9 + drivers/crypto/cnxk/cnxk_cryptodev_ops.c | 13 - 2 files changed, 17 insertions(+),

[PATCH v2 05/11] crypto/cnxk: set ctx for AE

2023-02-24 Thread Tejasree Kondoj
Set ctx_val to 1 for asymmetric ops. Signed-off-by: Tejasree Kondoj --- drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 18 - drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 16 +++ drivers/crypto/cnxk/cnxk_ae.h | 21 +++ drivers/crypto/cnxk/cnxk_cryptodev_ops

[PATCH v2 06/11] common/cnxk: ensure flush inval completion with CSR read

2023-02-24 Thread Tejasree Kondoj
From: Anoob Joseph If a CSR read is issued after a write, the read would block till the write operation is complete. This would help in determining when the FLUSH+INVALIDATE operation is complete. Signed-off-by: Anoob Joseph --- drivers/common/cnxk/hw/cpt.h | 11 +++ driver

[PATCH v2 04/11] crypto/cnxk: use direct mode for zero aad length

2023-02-24 Thread Tejasree Kondoj
Using direct mode if aad length is zero. Signed-off-by: Tejasree Kondoj --- drivers/crypto/cnxk/cnxk_se.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/cnxk/cnxk_se.h b/drivers/crypto/cnxk/cnxk_se.h index c16027ec75..69cd343eea 100644 --- a/drivers/cryp

[PATCH v2 03/11] crypto/cnxk: use version field directly

2023-02-24 Thread Tejasree Kondoj
From: Anoob Joseph As version field is available in rte_ip_hdr, use it directly instead of masking version_ihl. Signed-off-by: Anoob Joseph --- drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 4 ++-- drivers/crypto/cnxk/cn9k_ipsec_la_ops.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)

[PATCH v2 02/11] crypto/cnxk: make sg version check const

2023-02-24 Thread Tejasree Kondoj
Remove sg_ver2 from burst structure and make it as const argument for compiler optimized code. Signed-off-by: Tejasree Kondoj --- drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 26 +++ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/crypto/cnxk/cn10k_cryp

[PATCH v2 01/11] common/cnxk: fix incorrect auth key length

2023-02-24 Thread Tejasree Kondoj
From: Gowrishankar Muthukrishnan Auth key length is stored as 8 bit value in SE context. It should be larger enough to accommodate supported auth key length of 1024 bytes maximum, as in HMAC. Fixes: a45859312ff ("common/cnxk: add SE definitions for symmetric crypto") Signed-off-by: Gowrishankar

[PATCH v2 00/11] fixes and improvements to cnxk crypto PMD

2023-02-24 Thread Tejasree Kondoj
This series adds cn10k scatter gather support and improvements to cnxk crypto PMD. v2: * Fixed clang build failure Anoob Joseph (2): crypto/cnxk: use version field directly common/cnxk: ensure flush inval completion with CSR read Gowrishankar Muthukrishnan (2): common/cnxk: fix incorrect a

Re: Devtool test-meson-build.sh failed

2023-02-24 Thread Bruce Richardson
On Thu, Feb 23, 2023 at 11:48:47PM +, Ferruh Yigit wrote: > On 2/23/2023 10:58 PM, Tanzeel Ahmed wrote: > > Hello, devs! > > I hope you all are doing well! > > > > I am currently working on a new patch version for "[PATCH v2] lib/net: > > add MPLS insert and strip functionality". However, I am

Re: [PATCH v2 3/9] app/testpmd: rework ieee1588 engine fwd configuration

2023-02-24 Thread Singh, Aman Deep
On 2/20/2023 10:10 PM, David Marchand wrote: This fwd engine currently ignores the forwarding configuration. Force it explicitly when initialising the stream. The code is then more consistent with other fwd engines (i.e. receiving on fs->rx_port, transmitting on fs->tx_port). Signed-off-by: Da

回复: [PATCH v3 1/3] ethdev: enable direct rearm with separate API

2023-02-24 Thread Feifei Wang
Sorry for my delayed reply. > -邮件原件- > 发件人: Morten Brørup > 发送时间: Wednesday, January 4, 2023 6:11 PM > 收件人: Feifei Wang ; tho...@monjalon.net; > Ferruh Yigit ; Andrew Rybchenko > > 抄送: dev@dpdk.org; konstantin.v.anan...@yandex.ru; nd ; > Honnappa Nagarahalli ; Ruifeng Wang > ; nd > 主题:

Re: [PATCH v3 2/9] app/testpmd: fix packet count in ieee15888 engine

2023-02-24 Thread Singh, Aman Deep
On 2/21/2023 12:04 AM, David Marchand wrote: Don't count a packet has been transmitted before it is done. Fixes: af75078fece3 ("first public release") Cc: sta...@dpdk.org Signed-off-by: David Marchand Acked-by: Aman Singh

[PATCH 14/14] enable lock check

2023-02-24 Thread David Marchand
Now that a lot of components can be compiled with the lock checks, invert the logic and opt out for components not ready yet: - drivers/bus/dpaa, - drivers/common/cnxk, - drivers/common/mlx5, - drivers/event/cnxk, - drivers/net/bnx2x, - drivers/net/bnxt, - drivers/net/cnxk, - drivers/net/enic, - dr

[PATCH 12/14] raw/ifpga: inherit lock annotations

2023-02-24 Thread David Marchand
The checks in those helpers are useless: - all (start/stop/reset/test) callers ensure that dev != NULL, - dev->sd can't be NULL either as it would mean the application is calling those helpers for a dev pointer that did not pass initialisation, Once the checks are removed, the only thing that re

[PATCH 13/14] vdpa/sfc: inherit lock annotations

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. sfc_vdpa_ops.c was relying on an implicit cast of the dev_handle to a vdpa adapter object. Add an explicit conversion. Signed-off-by: David Marchand --- drivers/vdpa/sfc/sfc_v

[PATCH 11/14] net/virtio: annotate lock for guest announce

2023-02-24 Thread David Marchand
Expose requirements for helpers dealing with the VIRTIO_DEV_TO_HW(dev)->state_lock lock. Signed-off-by: David Marchand --- drivers/net/virtio/virtio_ethdev.c | 8 drivers/net/virtio/virtio_ethdev.h | 7 +-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/net/v

[PATCH 09/14] net/sfc: rework locking in proxy code

2023-02-24 Thread David Marchand
Remove one extra layer for proxy code: sfc_get_adapter_by_pf_port_id() now only resolves the sa object and sfc_adapter_(|un)lock() are added were necessary. This will simplify lock checks later. Signed-off-by: David Marchand --- drivers/net/sfc/sfc_repr_proxy.c | 59

[PATCH 10/14] net/sfc: inherit lock annotations

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. One additional change is required in sfc_ev_qpoll() so that clang does see the same lock is being manipulated. Signed-off-by: David Marchand --- drivers/net/sfc/sfc.h | 4

[PATCH 08/14] net/fm10k: annotate mailbox lock

2023-02-24 Thread David Marchand
Expose requirements for helpers dealing with the FM10K_DEV_PRIVATE_TO_MBXLOCK(hw->back) lock. Signed-off-by: David Marchand --- drivers/net/fm10k/fm10k_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 8b83063

[PATCH 06/14] drivers: inherit lock annotations for Intel drivers

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. Signed-off-by: David Marchand --- drivers/common/iavf/iavf_osdep.h | 39 ++ drivers/common/iavf/iavf_prototype.h | 6 drivers/common/idpf/

[PATCH 07/14] net/cxgbe: inherit lock annotations

2023-02-24 Thread David Marchand
Due to clang limitation, inline helpers don't inherit lock annotations from the EAL lock API. Replace them with macros. Signed-off-by: David Marchand --- drivers/net/cxgbe/base/adapter.h | 35 +++- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/drivers

[PATCH 05/14] graph: annotate graph lock

2023-02-24 Thread David Marchand
Export internal lock and annotate associated helper. Signed-off-by: David Marchand --- lib/graph/graph.c | 10 -- lib/graph/graph_private.h | 10 -- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/graph/graph.c b/lib/graph/graph.c index a839a2803b..558

[PATCH 04/14] hash: annotate cuckoo hash lock

2023-02-24 Thread David Marchand
__hash_rw_(reader|writer)_(|un)lock helpers take locks depending on conditions that are fixed at the rte_hash object initialisation. So we can tell clang that those helpers unconditionally take/release those locks (and waive the lock check on their implementation). Signed-off-by: David Marchand -

[PATCH 02/14] mem: rework malloc heap init

2023-02-24 Thread David Marchand
rte_eal_memory_init() and rte_eal_malloc_heap_init() must be called in a common section taking rte_mcfg_mem_read_lock(). Split rte_eal_malloc_heap_init() in two so that the mem lock is taken in rte_eal_init() making lock checks trivial (once annotated in the next patch). Signed-off-by: David March

[PATCH 03/14] mem: annotate shared memory config locks

2023-02-24 Thread David Marchand
Expose internal locks via some internal accessors. Then annotate rte_mcfg_xxx_(read|write)_(|un)lock. Signed-off-by: David Marchand --- lib/eal/common/eal_common_mcfg.c| 66 + lib/eal/include/rte_eal_memconfig.h | 63 +-- lib/eal/version.ma

[PATCH 01/14] malloc: rework heap lock handling

2023-02-24 Thread David Marchand
Move all heap->lock manipulation to malloc_heap.c to have a single location where to look at and make higher level code unaware of this locking constraint. The destroy helper has been reworked to zero all the heap object but leave the lock untouched. The heap lock is then released through the stan

[PATCH 00/14] Enable lock annotations on most libraries and drivers

2023-02-24 Thread David Marchand
This is a followup of the series that introduced lock annotations. I reworked and made annotations work in what seemed the easier cases. In most cases, I chose to convert inline wrappers around the EAL lock API to simple macro: I did not see much value in those wrappers and this is way simpler than

Re: [PATCH v6 1/3] eal: add rte thread create control API

2023-02-24 Thread David Marchand
On Wed, Feb 8, 2023 at 10:26 PM Tyler Retzlaff wrote: > > Add rte_thread_create_control API as a replacement for > rte_ctrl_thread_create to allow deprecation of the use of platform > specific types in DPDK public API. > > Add test from David Marchand to exercise the new API. > > Signed-off-by: Ty