[PATCH v5 03/16] hash: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where hash table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/hash/rte_fbk_hash.h | 25 ++--- lib/hash/rte_hash.h | 22 -- 2 files changed, 26 insert

[PATCH v5 13/16] compressdev: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where compressdev is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/compressdev/rte_comp.h | 29 - 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/compressdev/rte_comp.h b/lib/comp

[PATCH v5 15/16] sched: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where sched port config is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/sched/rte_sched.h | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/sched/rte_sched.h b/lib/sched/rte_sch

[PATCH v5 12/16] reorder: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where reorder table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Volodymyr Fialko --- lib/reorder/rte_reorder.h | 24 +--- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/reorder/r

[PATCH v5 16/16] doc: add release note about allocation attributes

2025-01-24 Thread Stephen Hemminger
Since many functions now have allocation attribute, add a release note to inform users. Signed-off-by: Stephen Hemminger --- doc/guides/rel_notes/release_25_03.rst | 30 ++ 1 file changed, 30 insertions(+) diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides

[PATCH v5 11/16] ring: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where ring is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/ring/rte_ring.h | 23 +-- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/ring/rte_ring.h b/lib/r

[PATCH v5 14/16] telemetry: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where telemetry data is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Bruce Richardson --- lib/telemetry/rte_telemetry.h | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/telemet

[PATCH v5 10/16] eventdev: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where eventdev is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/eventdev/rte_event_ring.h | 27 ++- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/eventdev/rte_event_ring.h b/lib/eve

[PATCH v5 09/16] mempool: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where mempool is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Reviewed-by: Morten Brørup Acked-by: Konstantin Ananyev --- lib/mempool/rte_mempool.h | 37 - 1 file changed, 20 insertions(+), 17 del

[PATCH v5 08/16] member: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where member table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/member/rte_member.h | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/member/rte_member.h b/lib/member/rte_mem

[PATCH v5 07/16] bitratestats: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where bitratestats is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/bitratestats/rte_bitrate.h | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/bitratestats/rte_bitrate.h b/lib/bi

[PATCH v5 04/16] lpm: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where lpm table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/lpm/rte_lpm.h | 23 --- lib/lpm/rte_lpm6.h | 23 --- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lib

[PATCH v5 05/16] pipeline: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where pipeline is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/pipeline/rte_port_in_action.h | 56 --- lib/pipeline/rte_table_action.h | 53 +++-- 2 files changed, 57 inser

[PATCH v5 06/16] acl: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where acl table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/acl/rte_acl.h | 27 --- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/lib/acl/rte_acl.h b/

[PATCH v5 02/16] rib: annotate rib allocation functions

2025-01-24 Thread Stephen Hemminger
Add function attributes to catch cases where rib is allocated and not freed correctly. Signed-off-by: Stephen Hemminger --- lib/rib/rte_rib.h | 26 +++--- lib/rib/rte_rib6.h | 24 +--- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/lib/r

[PATCH v5 00/16] Annotate allocation functions

2025-01-24 Thread Stephen Hemminger
This patch series builds on the allocation function attributes added in 24.11 release. These annotations will allow for compiler to flag cases where a pointer is allocated with one function but incorrectly passed to a different free function. The current code base does this correctly now, but addi

[PATCH v5 01/16] fib: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where fib table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/fib/rte_fib.h | 26 +++--- lib/fib/rte_fib6.h | 24 +--- lib/fib/trie.h | 7 --- 3 files changed, 32 insertions(

[PATCH] dts: automatically bring up link on interfaces

2025-01-24 Thread Patrick Robb
Adds a method to os_session for bringing up port interface links, an implementation for linux_session, and a call to this at node init. This removes the current requirement that users bring up the link on their TG interfaces before running DTS. Tested-by: Patrick Robb Signed-off-by: Patrick Robb

RE: [PATCH v2 3/3] baseband/acc: add internal logging

2025-01-24 Thread Chautru, Nicolas
Hi Stephen, > -Original Message- > From: Stephen Hemminger > Sent: Friday, January 24, 2025 10:01 AM > To: Chautru, Nicolas > Cc: dev@dpdk.org; maxime.coque...@redhat.com; > hemant.agra...@nxp.com; Vargas, Hernan > Subject: Re: [PATCH v2 3/3] baseband/acc: add internal logging > > On

[PATCH v2 1/2] dts: add fwd restart decorator to rx capabilities

2025-01-24 Thread Nicholas Pratte
Some testpmd runtime functions require that forwarding be stopped before attempting to execute them, depending on the NIC and vendor. Adding a decorator to these testpmdshell methods to stop, execute, and then start forwarding again abstracts this concern away for test suite developers, and makes f

[PATCH v2 0/2] dts: mtu update and jumbo frames test suite

2025-01-24 Thread Nicholas Pratte
v(2): * packet sizes described in docstrings were incorrect in the previous version. This new series fixes this. For anyone who may need better context on the current situation of mtu and how it is understood within dpdk as an application, you may find the following inbox archives insightf

[PATCH v2 2/2] dts: add mtu update and jumbo frames test suite

2025-01-24 Thread Nicholas Pratte
A functional test suite that assesses MTU updating and forwarding within a DPDK application. This suite consolidates the previous 'mtu_update' and 'jumbo_frames' test suites from the old dts framework into a single, comprehensive test suite, and it covers all of mtu the adjustment options within

Re: [PATCH v1 2/2] dts: add mtu update and jumbo frames test suite

2025-01-24 Thread Nicholas Pratte
Thank you for the feedback, see my comments below! >> +current_mtu = testpmd_shell.show_port_info(0).mtu >> +self.verify(current_mtu is not None, "Error grabbing testpmd MTU >> value.") >> +if current_mtu and ( >> +current_mtu >= STANDARD_MTU + VENDOR_AGNOSTIC

Re: [PATCH v1 1/2] dts: add fwd restart decorator to rx capabilities

2025-01-24 Thread Nicholas Pratte
Hi Patrick, Yes! Stop ports is a required decorator because some vendors require that the ports themselves be stopped to change their MTU values during runtime. This is not to be confused with forwarding, which is what my decorator does on top of a given function. That said, I suppose this could b

[PATCH] app/crypto-perf: support RSA-2k

2025-01-24 Thread Akhil Goyal
Add RSA-2k support in crypto-perf application. Signed-off-by: Akhil Goyal --- app/test-crypto-perf/cperf_ops.c | 68 app/test-crypto-perf/cperf_options.h | 4 + app/test-crypto-perf/cperf_options_parsing.c | 39 - app/test-crypto-perf/cperf_test_common.c

Re: [PATCH v4 0/7] dts: refactor configuration

2025-01-24 Thread Nicholas Pratte
Thank you for picking and finishing this up, Luca! Much appreciated. On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro wrote: > > v4: > - fixed bug where the CLI overrides where not being picked up > when values were not set in the config and/or the defaults > were available > - added new comment

Re: [PATCH] build: force gcc to initialize padding bits

2025-01-24 Thread Stephen Hemminger
On Fri, 24 Jan 2025 09:38:20 + Bruce Richardson wrote: > > > > Does this flag give us additional guarantees of padding being > zero-initialized that were there before? From my reading of the gcc doc[1], > "..padding-bits=union" corresponds to the old behaviour, right? > > This also means

[PATCH v4 06/16] acl: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where acl table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/acl/rte_acl.h | 26 +++--- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/acl/rte_acl.h b/l

Re: [PATCH v4 4/7] dts: rework DPDK attributes in SUT node config

2025-01-24 Thread Nicholas Pratte
Reviewed-by: Nicholas Pratte On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro wrote: > > From: Nicholas Pratte > > Rework 'lcores' and 'memory_channels' into a new 'dpdk_config' > subsection in an effort to make these attributes SUT specific; the > traffic generator, more often than not, does not

[PATCH v2] build: force gcc to initialize padding bits

2025-01-24 Thread Stephen Hemminger
With GCC 15, the compiler has changed the default behavior when initialization is used for aggregate variables. The new default is to follow the standard (C23) and not initialize everything by default. This breaks assumptions in some drivers and can be lead to other bugs. Use the new zero initializ

[PATCH v4 10/16] eventdev: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where eventdev is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/eventdev/rte_event_ring.h | 27 ++- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/eventdev/rte_event_ring.h b/lib/eve

[PATCH v4 04/16] lpm: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where lpm table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/lpm/rte_lpm.h | 23 --- lib/lpm/rte_lpm6.h | 23 --- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lib

[PATCH v4 02/16] rib: annotate rib allocation functions

2025-01-24 Thread Stephen Hemminger
Add function attributes to catch cases where rib is allocated and not freed correctly. Signed-off-by: Stephen Hemminger --- lib/rib/rte_rib.h | 24 +--- lib/rib/rte_rib6.h | 24 +--- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/lib/rib

[PATCH v4 09/16] mempool: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where mempool is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Reviewed-by: Morten Brørup Acked-by: Konstantin Ananyev --- lib/mempool/rte_mempool.h | 37 - 1 file changed, 20 insertions(+), 17 del

[PATCH] test/security: check MACSEC offload before configuration

2025-01-24 Thread Akhil Goyal
rte_ethdev_dev_configure need application to check the device info if the offload flags are supported or not. Added check to verify MACsec is supported before configuring ethernet inline device. Signed-off-by: Akhil Goyal --- app/test/test_security_inline_macsec.c | 14 ++ 1 file cha

[PATCH] common/cnxk: check MACsec HW capability

2025-01-24 Thread Akhil Goyal
Added ROC API to check if hardware has capability to perform MACsec operations. Skipped MACsec initialization if not supported by hardware Signed-off-by: Akhil Goyal --- drivers/common/cnxk/roc_mbox.h | 2 ++ drivers/common/cnxk/roc_mcs.c | 21 + drivers/common/cnxk/roc_m

Re: [PATCH v4 7/7] dts: run all test suites by default

2025-01-24 Thread Nicholas Pratte
Nice touch! Reviewed-by: Nicholas Pratte On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro wrote: > > The configuration requires the user to explicitly set the requested test > suites in the files. Sometimes we want to run all the test suites and > don't want to manually specify all of them. It is

Re: [PATCH v4 6/7] dts: split configuration file

2025-01-24 Thread Nicholas Pratte
This is great! Before Jeremy left, he suggested going a step further and putting the config in a directory of its own, potentially offering more flexibility. Something we could consider looking into in the future, if there is time. Reviewed-by: Nicholas Pratte On Fri, Jan 24, 2025 at 6:39 AM Luc

[PATCH v4 16/16] doc: add release note about allocation attributes

2025-01-24 Thread Stephen Hemminger
Since many functions now have allocation attribute, add a release note to inform users. Signed-off-by: Stephen Hemminger --- doc/guides/rel_notes/release_25_03.rst | 30 ++ 1 file changed, 30 insertions(+) diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides

[PATCH v4 15/16] sched: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where sched port config is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/sched/rte_sched.h | 23 +-- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/sched/rte_sched.h b/lib/sched/rte_sche

[PATCH v4 14/16] telemetry: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where telemetry data is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Bruce Richardson --- lib/telemetry/rte_telemetry.h | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/telemet

[PATCH v4 13/16] compressdev: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where compressdev is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/compressdev/rte_comp.h | 28 +++- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/compressdev/rte_comp.h b/lib/compr

[PATCH v4 12/16] reorder: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where reorder table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Volodymyr Fialko --- lib/reorder/rte_reorder.h | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/reorder/rt

[PATCH v4 08/16] member: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where member table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/member/rte_member.h | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/member/rte_member.h b/lib/member/rte_mem

[PATCH v4 11/16] ring: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where ring is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/ring/rte_ring.h | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/ring/rte_ring.h b/lib/ri

[PATCH v4 05/16] pipeline: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where pipeline is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/pipeline/rte_port_in_action.h | 55 --- lib/pipeline/rte_table_action.h | 53 +++-- 2 files changed, 56 inser

[PATCH v4 07/16] bitratestats: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where bitratestats is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/bitratestats/rte_bitrate.h | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/bitratestats/rte_bitrate.h b/lib/bi

[PATCH v4 00/16] Add allocation function attributes

2025-01-24 Thread Stephen Hemminger
This patch series builds on the allocation function attributes added in 24.11 release. These annotations will allow for compiler to flag cases where a pointer is allocated with one function but incorrectly passed to a different free function. The current code base does this correctly now, but addi

[PATCH v4 01/16] fib: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where fib table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger --- lib/fib/rte_fib.h | 26 +++--- lib/fib/rte_fib6.h | 24 +--- lib/fib/trie.h | 7 --- 3 files changed, 32 insertions(

[PATCH v4 03/16] hash: add allocation function attributes

2025-01-24 Thread Stephen Hemminger
Use function attributes to catch cases where hash table is allocated but not freed correctly. Signed-off-by: Stephen Hemminger Acked-by: Konstantin Ananyev --- lib/hash/rte_fbk_hash.h | 24 +--- lib/hash/rte_hash.h | 21 +++-- 2 files changed, 24 insertio

Re: [PATCH v4 5/7] dts: handle CLI overrides in the configuration

2025-01-24 Thread Nicholas Pratte
Thank you for addressing this. Great work! Reviewed-by: Nicholas Pratte On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro wrote: > > The current handling of the configuration loading is inconsistent. After > the whole configuration is loaded, if there are any CLI or environment > overrides set, the

Re: [PATCH v4 3/7] dts: infer use first core without config

2025-01-24 Thread Nicholas Pratte
I wonder if you could remove this particular patch entirely, since this particular 'use_first_core' issue is addressed differently in the proceeding patch. I left this patch in the original series so that we might discuss what the best mode of action would be for tackling this problem. In any case,

Re: [PATCH v4 2/7] dts: simplify build options config

2025-01-24 Thread Nicholas Pratte
Reviewed-by: Nicholas Pratte On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro wrote: > > From: Nicholas Pratte > > The build options configuration contained redundant fields that were not > in use, and there is no future scope for their use. > > Bugzilla ID: 1360 > > Signed-off-by: Nicholas Pratte

Re: [PATCH v4 1/7] dts: enable arch self-discovery

2025-01-24 Thread Nicholas Pratte
Reviewed-by: Nicholas Pratte On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro wrote: > > From: Nicholas Pratte > > The 'arch' attribute in the conf.yaml is unnecessary, as this can be > readily discovered directly from any given node. > > Bugzilla ID: 1360 > > Signed-off-by: Nicholas Pratte > Sig

Re: [PATCH] app/procinfo: add xstats parameter to hide zero

2025-01-24 Thread Stephen Hemminger
On Fri, 24 Jan 2025 18:00:32 +0800 Dengdui Huang wrote: > The number of xstats may be large, after the hide zero parameter to > hide zero only non-zero values can be displayed. > > So display xstats with hide zero: > dpdk-proc-info --proc-type=secondary -- --xstats > and without hide zero: >

Re: [PATCH v2 3/3] baseband/acc: add internal logging

2025-01-24 Thread Stephen Hemminger
On Fri, 24 Jan 2025 17:52:43 + "Chautru, Nicolas" wrote: > Hi Stephen, > > The commit message may be misleading, the logging interface doesn't change > here. Note also that I reuse existing trace point framework for some of the > error logging when relevant (see previous commit). > Here

RE: [PATCH v2 3/3] baseband/acc: add internal logging

2025-01-24 Thread Chautru, Nicolas
Hi Stephen, The commit message may be misleading, the logging interface doesn't change here. Note also that I reuse existing trace point framework for some of the error logging when relevant (see previous commit). Here the scope for that buffer is more limited, not a new logging method really

Re: [PATCH] mbuf: add packet offload Rx flag for keep CRC

2025-01-24 Thread Stephen Hemminger
On Fri, 24 Jan 2025 17:59:57 +0800 Dengdui Huang wrote: > diff --git a/lib/mbuf/rte_mbuf.c b/lib/mbuf/rte_mbuf.c > index 559d5ad8a7..c828200ea1 100644 > --- a/lib/mbuf/rte_mbuf.c > +++ b/lib/mbuf/rte_mbuf.c > @@ -771,7 +771,7 @@ const char *rte_get_rx_ol_flag_name(uint64_t mask) > case RTE_

[PATCH] buildtools/check-git-log: print expected driver prefix

2025-01-24 Thread Bruce Richardson
When outputting an error for an invalid log prefix, don't just tell the user that the prefix is wrong - also tell them what the expected prefix should be. Signed-off-by: Bruce Richardson --- devtools/check-git-log.sh | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/devt

[PATCH 1/2] trace: support expression for blob length

2025-01-24 Thread David Marchand
Support any expression as a blob length by using an intermediate variable in the trace point emitter itself. This also avoids any side effect on the passed variable. Signed-off-by: David Marchand --- lib/eal/include/rte_trace_point.h | 11 + lib/eal/include/rte_trace_point_regi

[PATCH v6 19/25] net/ice: use vector SW ring for all vector paths

2025-01-24 Thread Bruce Richardson
The AVX-512 code path used a smaller SW ring structure only containing the mbuf pointer, but no other fields. The other fields are only used in the scalar code path, so update all vector driver code paths to use the smaller, faster structure. Signed-off-by: Bruce Richardson --- drivers/net/intel

[PATCH v6 06/25] net/intel: add prefix for driver-specific structs

2025-01-24 Thread Bruce Richardson
In preparation for merging the Tx structs for multiple drivers into a single struct, rename the driver-specific pointers in each struct to have a prefix on it, to avoid conflicts. Signed-off-by: Bruce Richardson --- drivers/net/intel/i40e/i40e_fdir.c| 6 +-- .../i40e/i40e_recycle_mb

Re: [PATCH v5 01/25] net: move intel drivers to intel subdirectory

2025-01-24 Thread Bruce Richardson
On Fri, Jan 24, 2025 at 09:32:25AM +0100, David Marchand wrote: > On Thu, Jan 23, 2025 at 5:02 PM Thomas Monjalon wrote: > > > > 23/01/2025 15:35, Bruce Richardson: > > > On Thu, Jan 23, 2025 at 03:16:40PM +0100, David Marchand wrote: > > > > On the check-git-log.sh update, we will have many warni

[PATCH v6 25/25] net/intel: extract common Rx vector criteria

2025-01-24 Thread Bruce Richardson
While some drivers have specific criteria for when a vector driver can be enabled on the Rx path, there are a number of basic criteria which apply across all drivers. Centralize those in the intel/common folder, and then update drivers to use the common conditional checks. This adds some additional

[PATCH v6 24/25] net/intel: create common mbuf initializer fn

2025-01-24 Thread Bruce Richardson
Across a number of drivers, the same code is used for initializing the "mbuf_initializer" value inside the rx queue structure for use with the vector drivers. Since the rx queue structures are (currently) different across the drivers, we cannot just move a single copy of the function to a common lo

[PATCH v6 23/25] net/ixgbe: use common Tx backlog entry fn

2025-01-24 Thread Bruce Richardson
Remove the custom vector Tx backlog entry function and use the standard intel_common one, now that all vector drivers are using the same, smaller ring structure. Signed-off-by: Bruce Richardson --- drivers/net/intel/ixgbe/ixgbe_rxtx_vec_common.h | 10 -- drivers/net/intel/ixgbe/ixgbe_rxt

[PATCH v6 22/25] net/intel: remove unneeded vector flags and cleanup code

2025-01-24 Thread Bruce Richardson
With all drivers using the common Tx structure updated so that their vector paths all use the simplified Tx mbuf ring format, it's no longer necessary to have a separate flag for the ring format and for use of a vector driver. Remove the former flag and base all decisions off the vector flag. With

[PATCH v6 21/25] net/iavf: use vector SW ring for all vector paths

2025-01-24 Thread Bruce Richardson
The AVX-512 code path used a smaller SW ring structure only containing the mbuf pointer, but no other fields. The other fields are only used in the scalar code path, so update all vector driver code paths (AVX2, SSE) to use the smaller, faster structure. Signed-off-by: Bruce Richardson --- drive

[PATCH v6 20/25] net/i40e: use vector SW ring for all vector paths

2025-01-24 Thread Bruce Richardson
The AVX-512 code path used a smaller SW ring structure only containing the mbuf pointer, but no other fields. The other fields are only used in the scalar code path, so update all vector driver code paths (AVX2, SSE, Neon, Altivec) to use the smaller, faster structure. Signed-off-by: Bruce Richard

[PATCH v6 18/25] net/iavf: use common Tx queue mbuf cleanup fn

2025-01-24 Thread Bruce Richardson
Adjust iavf driver to also use the common mbuf freeing functions on Tx queue release/cleanup. The implementation is complicated a little by the need to integrate the additional "has_ctx" parameter for the iavf code, but changes in other drivers are minimal - just a constant "false" parameter. Sign

[PATCH v6 17/25] net/ixgbe: use common Tx queue mbuf cleanup fn

2025-01-24 Thread Bruce Richardson
Update driver to use the common cleanup function. Signed-off-by: Bruce Richardson --- drivers/net/intel/ixgbe/ixgbe_rxtx.c | 22 ++- drivers/net/intel/ixgbe/ixgbe_rxtx.h | 1 - .../net/intel/ixgbe/ixgbe_rxtx_vec_common.h | 28 ++- drivers/net/inte

[PATCH v6 16/25] net/i40e: use common Tx queue mbuf cleanup fn

2025-01-24 Thread Bruce Richardson
Update driver to be similar to the "ice" driver and use the common mbuf ring cleanup code on shutdown of a Tx queue. Signed-off-by: Bruce Richardson --- drivers/net/intel/i40e/i40e_ethdev.h | 4 +- drivers/net/intel/i40e/i40e_rxtx.c | 70 +++- drivers/net/intel/i40e/i4

[PATCH v6 15/25] net/intel: create common Tx queue mbuf cleanup fn

2025-01-24 Thread Bruce Richardson
The functions to loop over the Tx queue and clean up all the mbufs on it, e.g. for queue shutdown, is not device specific and so can move into the common/intel headers. Only complication is ensuring that the correct ring format, either minimal vector or full structure, is used. Ice driver currently

[PATCH v6 14/25] net/iavf: use common Tx free fn for AVX-512

2025-01-24 Thread Bruce Richardson
Switch the iavf driver to use the common Tx free function. This requires one additional parameter to that function, since iavf sometimes uses context descriptors which means that we have double the descriptors per SW ring slot. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h

[PATCH v6 13/25] net/intel: create common Tx buffer free fn for AVX-512

2025-01-24 Thread Bruce Richardson
AVX-512 code paths for ice and i40e drivers are common, and differ from the regular post-Tx free function in that the SW ring from which the buffers are freed does not contain anything other than the mbuf pointer. Merge these into a common function in intel/common to reduce duplication. Signed-off

[PATCH v6 11/25] net/intel: pack Tx queue structure

2025-01-24 Thread Bruce Richardson
Move some fields about to better pack the Tx queue structure and make sure all data used by the vector codepaths is on the first cacheline of the structure. Checking with "pahole" on 64-bit build, only one 6-byte hole is left in the structure - on second cacheline - after this patch. As part of th

[PATCH v6 12/25] net/intel: create common post-Tx buffer free function

2025-01-24 Thread Bruce Richardson
The actions taken for post-Tx buffer free for the SSE and AVX drivers for i40e, iavf and ice drivers are all common, so centralize those in net/intel/common driver. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h | 71 ++ drivers/net/intel/i40e/i

[PATCH v6 10/25] net/ixgbe: use common Tx queue structure

2025-01-24 Thread Bruce Richardson
Merge in additional fields used by the ixgbe driver and then convert it over to using the common Tx queue structure. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h | 14 +++- drivers/net/intel/ixgbe/ixgbe_ethdev.c| 4 +- .../ixgbe/ixgbe_recycle_mbufs_v

[PATCH v6 09/25] net/ixgbe: convert Tx queue context cache field to ptr

2025-01-24 Thread Bruce Richardson
Rather than having a two element array of context cache values inside the Tx queue structure, convert it to a pointer to a cache at the end of the structure. This makes future merging of the structure easier as we don't need the "ixgbe_advctx_info" struct defined when defining a combined queue stru

[PATCH v6 08/25] net/iavf: use common Tx queue structure

2025-01-24 Thread Bruce Richardson
Merge in the few additional fields used by iavf driver and convert it to using the common Tx queue structure also. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h | 11 + drivers/net/intel/iavf/iavf.h | 2 +- drivers/net/intel/iavf/iavf_ethd

[PATCH v6 07/25] net/intel: merge ice and i40e Tx queue struct

2025-01-24 Thread Bruce Richardson
The queue structures of i40e and ice drivers are virtually identical, so merge them into a common struct. This should allow easier function merging in future using that common struct. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h | 55 + driver

[PATCH v6 05/25] net/intel: align Tx queue struct field names

2025-01-24 Thread Bruce Richardson
Across the various Intel drivers sometimes different names are given to fields in the Tx queue structure which have the same function. Do some renaming in some drivers to align things better for future merging. Signed-off-by: Bruce Richardson --- drivers/net/intel/i40e/i40e_rxtx.c|

[PATCH v6 04/25] net/intel: create common Tx mbuf ring replenish fn

2025-01-24 Thread Bruce Richardson
Move the short function used to place mbufs on the SW Tx ring to common code to avoid duplication. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h | 7 +++ drivers/net/intel/i40e/i40e_rxtx_vec_altivec.c | 4 ++-- drivers/net/intel/i40e/i40e_rxtx_vec_avx2.

[PATCH v6 01/25] net: move intel drivers to intel subdirectory

2025-01-24 Thread Bruce Richardson
Consolidate all Intel HW NIC drivers into a driver/net/intel This matches the layout used for drivers in the kernel, and potentially enabling easier sharing among drivers. Signed-off-by: Bruce Richardson --- MAINTAINERS | 20 +-- devtools/check-

[PATCH v6 03/25] net/intel: provide common Tx entry structures

2025-01-24 Thread Bruce Richardson
The Tx entry structures, both vector and scalar, are common across Intel drivers, so provide a single definition to be used everywhere. Signed-off-by: Bruce Richardson --- drivers/net/intel/common/tx.h | 27 +++ .../i40e/i40e_recycle_mbufs_vec_common.c | 2 +

[PATCH v6 02/25] net/intel: create common pkt reassembly fn

2025-01-24 Thread Bruce Richardson
The code for reassembling a single, multi-mbuf packet from multiple buffers received from the NIC is duplicated across many drivers. Rather than having multiple copies of this function, we can create an "intel/common" directory to hold such functions and consolidate multiple functions down to a sin

[PATCH v6 00/25] Reduce code duplication across Intel NIC drivers

2025-01-24 Thread Bruce Richardson
This patchset attempts to reduce the amount of code duplication across a number of Intel NIC drivers, specifically: ixgbe, i40e, iavf, and ice. As part of this process of deduplication, and in preparation for further cleanup work, it moves all existing Intel drivers to a net/intel directory, with a

[PATCH 2/2] dmadev: avoid copies in tracepoints

2025-01-24 Thread David Marchand
No need to copy values in intermediate variables. Just use the right trace point emitters. Signed-off-by: David Marchand --- lib/dmadev/rte_dmadev_trace.h| 20 ++-- lib/dmadev/rte_dmadev_trace_fp.h | 12 2 files changed, 10 insertions(+), 22 deletions(-) diff --

Re: [PATCH v6 01/15] net/xsc: add xsc PMD framework

2025-01-24 Thread WanRenyong
On 2025/1/24 0:09, Stephen Hemminger wrote: > On Thu, 23 Jan 2025 13:48:25 +0800 > "WanRenyong" wrote: > >> On 2025/1/22 21:39, Thomas Monjalon wrote: +Yunsilicon xsc +M: WanRenyong +M: Na Na +M: Rong Qian +M: Xiaoxiong Zhang +M: Dongwei Xu >>> Looking at how the

Re: [PATCH v2 0/3] provide rte_ffs32, rte_ffs64 and __rte_x86_movdiri

2025-01-24 Thread Andre Muezerie
On Fri, Jan 24, 2025 at 03:53:58PM +0100, David Marchand wrote: > On Thu, Dec 5, 2024 at 9:36 PM Andre Muezerie > wrote: > > > > MSVC does not support inline assembly so use movdiri intrinsic and > > provide abstracted rte_ffs{32,64} inline functions instead of directly > > using GCC built-ins. >

[PATCH v3 1/3] eal: provide movdiri for MSVC

2025-01-24 Thread Andre Muezerie
From: Tyler Retzlaff MSVC does not support inline assembly. Instead it provides compiler intrinsics. Provide conditional compile for MSVC for movdiri using the _directstoreu_u32 intrinsic. Signed-off-by: Tyler Retzlaff --- lib/eal/x86/include/rte_io.h | 4 1 file changed, 4 insertions(+)

[PATCH v3 0/3] provide rte_ffs32, rte_ffs64 and __rte_x86_movdiri

2025-01-24 Thread Andre Muezerie
MSVC does not support inline assembly so use movdiri intrinsic and provide abstracted rte_ffs{32,64} inline functions instead of directly using GCC built-ins. v3: * Added __rte_experimental to the new functions. * Added comments to the new functions. * Moved tests to test_bitcount.c v2: * Mov

[PATCH v3 2/3] eal: add rte ffs32 and rte ffs64 inline functions

2025-01-24 Thread Andre Muezerie
From: Tyler Retzlaff Provide toolchain abstraction for __builtin_ffs{,l,ll} gcc built-in intrinsics. Signed-off-by: Tyler Retzlaff --- lib/eal/include/rte_bitops.h | 74 1 file changed, 74 insertions(+) diff --git a/lib/eal/include/rte_bitops.h b/lib/eal/i

[PATCH v3 3/3] app/test: add test for rte_ffs32 and rte_ffs64 functions.

2025-01-24 Thread Andre Muezerie
Add tests for new rte_ffs32 and rte_ffs64 functions. Signed-off-by: Andre Muezerie --- app/test/test_bitcount.c | 38 ++ 1 file changed, 38 insertions(+) diff --git a/app/test/test_bitcount.c b/app/test/test_bitcount.c index 83c68feb7b..8eb4a460f2 100644 ---

Re: [PATCH v2 0/3] provide rte_ffs32, rte_ffs64 and __rte_x86_movdiri

2025-01-24 Thread David Marchand
On Thu, Dec 5, 2024 at 9:36 PM Andre Muezerie wrote: > > MSVC does not support inline assembly so use movdiri intrinsic and > provide abstracted rte_ffs{32,64} inline functions instead of directly > using GCC built-ins. > > v2: > * Moved constants to the right side of the comparison > * Added te

RE: [PATCH] mbuf: add packet offload Rx flag for keep CRC

2025-01-24 Thread Morten Brørup
> From: Dengdui Huang [mailto:huangdeng...@huawei.com] > Sent: Friday, 24 January 2025 11.00 > > After discussion[1], the drivers do not include the CRC in the packet > length calculation. This will cause users to be confused about whether > the mbuf contains CRC data. This patch adds a packet off

Re: [PATCH v1] dts: bug fixes for paramiko timeout and buffered_pipe issues

2025-01-24 Thread Paul Szczepanek
Reviewed-by: Paul Szczepanek

Re: [PATCH 1/3] lib/eal: add rte_atomic128_cmp_exchange compatible with MSVC

2025-01-24 Thread David Marchand
On Tue, Dec 10, 2024 at 5:33 PM Andre Muezerie wrote: > > MSVC does not support inline assembly, which is used by the > implementation of rte_atomic128_cmp_exchange and is needed > by lib/stack. > > Error printed by MSVC: > > stack_rte_stack_lf.c.obj : error LNK2019: > unresolved external symb

[PATCH 1/1] vhost: add NULL callback checks

2025-01-24 Thread Kevin Traynor
rte_vhost_driver_callback_register() does not specify any mandatory callbacks in struct rte_vhost_device_ops. Add some missing NULL checks before calling rte_vhost_device_ops callbacks. Fixes: 4796ad63ba1f ("examples/vhost: import userspace vhost application") Cc: sta...@dpdk.org Signed-off-by:

[PATCH 0/1] vhost: NULL callback checks

2025-01-24 Thread Kevin Traynor
Not a normal case, but noticed that setting some callbacks to NULL in rte_vhost_driver_callback_register() causes a seg fault e.g. [0]. Added missing checks before calling. Alternative fix is to make some callbacks mandatory and check during register - is that an API change? maybe, so took simpler

  1   2   >