[PATCH 2/2] latencystats: replace use of VLA

2024-05-06 Thread Stephen Hemminger
The temporary array latencystats is not needed if the algorithm is converted into one pass. Signed-off-by: Stephen Hemminger Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- lib/latencystats/rte_latencystats.c | 31 +++-- 1 file changed, 16 insertions(+), 15 deletio

[PATCH 1/2] lpm: remove unnecessary temporary VLA

2024-05-06 Thread Stephen Hemminger
Do not need to recompute all the table indices. Signed-off-by: Stephen Hemminger --- lib/lpm/rte_lpm.h | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/lpm/rte_lpm.h b/lib/lpm/rte_lpm.h index 2888e5f4ca..9c6df311cb 100644 --- a/lib/lpm/rte_lpm.h +++ b/lib/lpm/rte_lp

Re: [PATCH v5 00/45] use stdatomic API

2024-05-06 Thread Patrick Robb
Recheck-request: iol-broadcom-Performance On Mon, May 6, 2024 at 1:58 PM Tyler Retzlaff wrote: > > This series converts all non-generic built atomics to use the rte_atomic > macros that allow optional enablement of standard C11 atomics. > > Use of generic atomics for non-scalar types are not conv

Re: [PATCH v3 09/19] latencystats: remove use of VLAs for Windows built code

2024-05-06 Thread Stephen Hemminger
On Mon, 6 May 2024 11:18:41 -0700 Tyler Retzlaff wrote: > MSVC does not support VLAs, replace VLAs with standard C arrays > or alloca(). alloca() is available for all toolchain/platform > combinations officially supported by DPDK. > > Signed-off-by: Tyler Retzlaff See the alternate patch, the

Re: [PATCH v3 08/19] gro: remove use of VLAs for Windows built code

2024-05-06 Thread Stephen Hemminger
On Mon, 6 May 2024 11:18:40 -0700 Tyler Retzlaff wrote: > MSVC does not support VLAs, replace VLAs with standard C arrays > or alloca(). alloca() is available for all toolchain/platform > combinations officially supported by DPDK. > > Signed-off-by: Tyler Retzlaff > --- > lib/gro/rte_gro.c |

Re: [PATCH v3 03/19] eal/common: remove use of VLAs

2024-05-06 Thread Stephen Hemminger
On Mon, 6 May 2024 11:18:35 -0700 Tyler Retzlaff wrote: > From: Konstantin Ananyev > > 1) ../lib/eal/common/eal_common_proc.c:695:15 > : warning: variable length array used > > As msg->num_fds should not exceed RTE_MP_MAX_FD_NUM, replaced > it with fixed size array. > > Signed-off-by: Ko

[PATCH v3 17/19] common/mlx5: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- drivers/common/mlx5/mlx5_common.h| 4 ++-- drivers/common/mlx5/mlx5_devx_cmds.c | 7 +++--

[PATCH v3 19/19] build: enable vla warnings on Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support optional C11 VLAs. When building for Windows enable -Wvla so that mingw and clang also fail if a VLA is used. Signed-off-by: Tyler Retzlaff --- config/meson.build | 4 1 file changed, 4 insertions(+) diff --git a/config/meson.build b/config/meson.build index 8c8b019..

[PATCH v3 18/19] net/mlx5: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- drivers/net/mlx5/mlx5.c | 5 ++--- drivers/net/mlx5/mlx5_flow.c | 6 +++--- 2 files chan

[PATCH v3 15/19] net/ice: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- drivers/net/ice/ice_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v3 16/19] net/ixgbe: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- drivers/net/ixgbe/ixgbe_ethdev.c | 5 +++-- drivers/net/ixgbe/ixgbe_rxtx_vec_common.

[PATCH v3 13/19] common/idpf: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- drivers/common/idpf/idpf_common_rxtx.c| 2 +- drivers/common/idpf/idpf_common_rxtx_av

[PATCH v3 14/19] net/i40e: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- drivers/net/i40e/i40e_testpmd.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) d

[PATCH v3 07/19] rcu: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
From: Konstantin Ananyev 1) ./lib/rcu/rte_rcu_qsbr.c:359:9 : warning: ISO C90 forbids variable length array ‘data’ [-Wvla] 2) ./lib/rcu/rte_rcu_qsbr.c:422:9 : warning: ISO C90 forbids variable length array ‘data’ [-Wvla] In both cases we allocate VLA for one element from RCU deferred que

[PATCH v3 11/19] app/testpmd: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- app/test-pmd/cmdline.c| 2 +- app/test-pmd/cmdline_flow.c | 9 - app/test

[PATCH v3 12/19] test: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- app/test/test.c | 2 +- app/test/test_cmdline_string.c| 2 +-

[PATCH v3 09/19] latencystats: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- lib/latencystats/rte_latencystats.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) di

[PATCH v3 06/19] hash/thash: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
From: Konstantin Ananyev 1) ./lib/hash/rte_thash.c:774:9 : warning: ISO C90 forbids variable length array ‘tmp_tuple’ >From my understanding, tuple size here should never exceed sizeof(union rte_thash_tuple), so it should be safe to replace VLA with fixed size array. Signed-off-by: Konstant

[PATCH v3 10/19] lpm: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- lib/lpm/rte_lpm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/lpm

[PATCH v3 08/19] gro: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
MSVC does not support VLAs, replace VLAs with standard C arrays or alloca(). alloca() is available for all toolchain/platform combinations officially supported by DPDK. Signed-off-by: Tyler Retzlaff --- lib/gro/rte_gro.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib

[PATCH v3 05/19] hash: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
From: Konstantin Ananyev 1) ./lib/hash/rte_cuckoo_hash.c:2362:9 : warning: ISO C90 forbids variable length array ‘positions’ 2) ../lib/hash/rte_cuckoo_hash.c:2478:9 : warning: ISO C90 forbids variable length array ‘positions’ Both rte_hash_lookup_bulk_data() and rte_hash_lookup_with_hash

[PATCH v3 04/19] ethdev: remove use of VLAs for Windows built code

2024-05-06 Thread Tyler Retzlaff
From: Konstantin Ananyev 1) ./lib/ethdev/rte_ethdev.c:3244:16 : warning: ISO C90 forbids variable length array ‘xstats_names’ 2) ./lib/ethdev/rte_ethdev.c:3345:17 : warning: ISO C90 forbids variable length array ‘ids_copy’ 3) ./lib/ethdev/rte_ethdev.c:3538:16 : warning: ISO C90 forbid

[PATCH v3 02/19] eal/linux: remove use of VLAs

2024-05-06 Thread Tyler Retzlaff
From: Konstantin Ananyev 1) ./lib/eal/linux/eal_interrupts.c:1073:16 : warning: ISO C90 forbids variable length array ‘events’ eal_intr_handle_interrupts() is called by eal_intr_thread_main() so it seems ok to simply alloc space for events from heap and reuse the same buffer through the life

[PATCH v3 03/19] eal/common: remove use of VLAs

2024-05-06 Thread Tyler Retzlaff
From: Konstantin Ananyev 1) ../lib/eal/common/eal_common_proc.c:695:15 : warning: variable length array used As msg->num_fds should not exceed RTE_MP_MAX_FD_NUM, replaced it with fixed size array. Signed-off-by: Konstantin Ananyev --- lib/eal/common/eal_common_proc.c | 5 +++-- 1 file cha

[PATCH v3 00/19] remove use of VLAs for Windows

2024-05-06 Thread Tyler Retzlaff
As per guidance technical board meeting 2024/04/17. This series removes the use of VLAs from code built for Windows for all 3 toolchains. If there are additional opportunities to convert VLAs to regular C arrays please provide the details for incorporation into the series. MSVC does not support VL

[PATCH v3 01/19] eal: include header required for alloca

2024-05-06 Thread Tyler Retzlaff
Include alloca.h for Linux and malloc.h for Windows to get declaration of alloca(). Signed-off-by: Tyler Retzlaff --- lib/eal/linux/include/rte_os.h | 1 + lib/eal/windows/include/rte_os.h | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/eal/linux/include/rte_os.h b/lib/eal/linux/incl

Re: High packet capturing rate in DPDK enabled port

2024-05-06 Thread Stephen Hemminger
On Mon, 6 May 2024 02:15:10 +0600 Fuji Nafiul wrote: > I understand that I will need more cores and SSD, which I have. The thing > is is there any current project available that exposes params to dump the > highest possible rate with available resources? or I have to use the pdump > framework and

[PATCH v5 45/45] app/test-bbdev: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- app/test-bbdev/test_bbdev_perf.c | 183 +++ 1 file changed, 110 insertions(+), 7

[PATCH v5 44/45] app/test-compress-perf: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- app/test-compress-perf/comp_perf_test_common.h | 2 +- app/test-compress-perf/comp_perf_test_cyclecount.c | 4

[PATCH v5 43/45] app/test-crypto-perf: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- app/test-crypto-perf/cperf_test_latency.c| 6 +++--- app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 10

[PATCH v5 42/45] app/test-eventdev: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- app/test-eventdev/test_order_atq.c| 4 ++-- app/test-eventdev/test_order_common.c | 5 +++-- app/test-eventdev/t

[PATCH v5 41/45] app/test: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- app/test/test_bpf.c| 46 - app/test/test_distributor.c| 114 +++

[PATCH v5 40/45] app/dumpcap: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- app/dumpcap/main.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/dumpcap/main

[PATCH v5 39/45] examples: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- examples/bbdev_app/main.c | 13 + examples/l2fwd-event/l2fwd_common.h

[PATCH v5 38/45] bus/vmbus: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/bus/vmbus/rte_vmbus_reg.h | 2 +- drivers/bus/vmbus/vmbus_channel.c | 8 2 files changed, 5 inserti

[PATCH v5 37/45] common/cpt: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/common/cpt/cpt_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/common/c

[PATCH v5 35/45] dma/idxd: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/dma/idxd/idxd_internal.h | 2 +- drivers/dma/idxd/idxd_pci.c | 9 + 2 files changed, 6 insertio

[PATCH v5 36/45] crypto/ccp: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/crypto/ccp/ccp_dev.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/cry

[PATCH v5 34/45] event/dlb2: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/event/dlb2/dlb2.c| 34 +- drivers/event/dlb2/dlb2_priv.h | 13

[PATCH v5 33/45] net/null: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/null/rte_eth_null.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dri

[PATCH v5 32/45] net/txgbe: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/txgbe/txgbe_ethdev.c| 12 +++- drivers/net/txgbe/txgbe_ethdev.h| 2 +- drivers/net/txgb

[PATCH v5 31/45] baseband/acc: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/baseband/acc/rte_acc100_pmd.c | 36 +-- drivers/baseband/acc/rte_vrb_pmd.c| 46 +

[PATCH v5 30/45] common/iavf: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/common/iavf/iavf_impl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/comm

[PATCH v5 29/45] common/idpf: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/common/idpf/idpf_common_device.h | 6 +++--- drivers/common/idpf/idpf_common_rxtx.c| 14 ++

[PATCH v5 27/45] crypto/octeontx: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/crypto/octeontx/otx_cryptodev_ops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/

[PATCH v5 28/45] common/mlx5: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/common/mlx5/linux/mlx5_nl.c | 5 +-- drivers/common/mlx5/mlx5_common.h | 2 +- drivers/common/ml

[PATCH v5 26/45] dma/skeleton: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/dma/skeleton/skeleton_dmadev.c | 5 +++-- drivers/dma/skeleton/skeleton_dmadev.h | 2 +- 2 files changed, 4

[PATCH v5 25/45] event/dsw: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger Reviewed-by: Mattias Rönnblom --- drivers/event/dsw/dsw_evdev.h | 6 +++--- drivers/event/dsw/dsw_event.c | 47 +

[PATCH v5 24/45] event/octeontx: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/event/octeontx/timvf_evdev.h | 8 drivers/event/octeontx/timvf_worker.h | 36 +---

[PATCH v5 23/45] event/opdl: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/event/opdl/opdl_ring.c | 80 +- 1 file changed, 40 insertions(+), 40

[PATCH v5 22/45] raw/ifpga: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/raw/ifpga/ifpga_rawdev.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/driver

[PATCH v5 21/45] vdpa/mlx5: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/vdpa/mlx5/mlx5_vdpa.c | 24 +- drivers/vdpa/mlx5/mlx5_vdpa.h | 14 +-

[PATCH v5 20/45] net/ring: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/

[PATCH v5 19/45] net/qede: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/qede/base/bcm_osal.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/n

[PATCH v5 18/45] net/idpf: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/idpf/idpf_ethdev.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/ne

[PATCH v5 17/45] net/hinic: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/hinic/hinic_pmd_rx.c | 2 +- drivers/net/hinic/hinic_pmd_rx.h | 2 +- 2 files changed, 2 insertions(+),

[PATCH v5 16/45] net/virtio: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/virtio/virtio_ring.h | 4 +-- drivers/net/virtio/virtio_user/virtio_user_dev.c | 12 +++

[PATCH v5 15/45] net/thunderx: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/thunderx/nicvf_rxtx.c | 9 + drivers/net/thunderx/nicvf_struct.h | 4 ++-- 2 files changed, 7

[PATCH v5 14/45] net/memif: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/memif/memif.h | 4 ++-- drivers/net/memif/rte_eth_memif.c | 50 +++-

[PATCH v5 13/45] net/gve: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/gve/base/gve_osdep.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net

[PATCH v5 12/45] net/cxgbe: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/cxgbe/clip_tbl.c | 12 ++-- drivers/net/cxgbe/clip_tbl.h | 2 +- drivers/net/cxgbe/cxgbe_ma

[PATCH v5 11/45] net/octeontx: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/octeontx/octeontx_ethdev.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/d

[PATCH v5 09/45] net/af_xdp: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/af_xdp/rte_eth_af_xdp.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) dif

[PATCH v5 10/45] net/octeon_ep: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/octeon_ep/cnxk_ep_rx.h| 5 +++-- drivers/net/octeon_ep/cnxk_ep_tx.c| 5 +++-- drivers/net/octeon

[PATCH v5 07/45] net/bnxt: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/bnxt/bnxt_cpr.h | 4 ++-- drivers/net/bnxt/bnxt_rxq.h | 2 +- drivers/net/bnxt/bnx

[PATCH v5 08/45] net/cpfl: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/cpfl/cpfl_ethdev.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/n

[PATCH v5 05/45] net/i40e: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/i40e/i40e_ethdev.c| 4 ++-- drivers/net/i40e/i40e_rxtx.c | 6 +++--- drivers/net/i40e/i

[PATCH v5 04/45] net/ice: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/ice/base/ice_osdep.h | 4 ++-- drivers/net/ice/ice_dcf.c| 6 +++--- drivers/net/ice/ice_dcf.h

[PATCH v5 06/45] net/hns3: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/hns3/hns3_cmd.c | 18 ++-- drivers/net/hns3/hns3_dcb.c | 2 +- drivers/net/hns3/hns

[PATCH v5 01/45] net/mlx5: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/mlx5/linux/mlx5_ethdev_os.c | 6 +- drivers/net/mlx5/linux/mlx5_verbs.c | 9 ++- drivers/net/mlx

[PATCH v5 02/45] net/ixgbe: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/ixgbe/ixgbe_ethdev.c | 14 -- drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- drivers/net/ixgbe/ix

[PATCH v5 03/45] net/iavf: use rte stdatomic API

2024-05-06 Thread Tyler Retzlaff
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API. Signed-off-by: Tyler Retzlaff Acked-by: Stephen Hemminger --- drivers/net/iavf/iavf.h | 16 drivers/net/iavf/iavf_rxtx.c | 4 ++-- driver

[PATCH v5 00/45] use stdatomic API

2024-05-06 Thread Tyler Retzlaff
This series converts all non-generic built atomics to use the rte_atomic macros that allow optional enablement of standard C11 atomics. Use of generic atomics for non-scalar types are not converted in this change and will be evaluated as a part of a separate series. Specifically conversion of lib/

Re: [PATCH] eal/arm: use stdatomic api in rte_pause

2024-05-06 Thread Tyler Retzlaff
On Fri, May 03, 2024 at 07:35:48PM +0100, Daniel Gregory wrote: > Missed during commit 1ec6a845b5cb > ("eal: use stdatomic API in public headers") > > Signed-off-by: Daniel Gregory > --- Acked-by: Tyler Retzlaff

Re: [PATCH v4] net/ice: add diagnostic support in Tx path

2024-05-06 Thread David Marchand
Hello, On Tue, Mar 5, 2024 at 11:37 AM Mingjin Ye wrote: > /** > * Structure to store private data for each PF/VF instance. > */ > @@ -599,6 +610,8 @@ struct ice_adapter { > struct ice_devargs devargs; > enum ice_pkg_type active_pkg_type; /* loaded ddp package type */ >

[v2 13/16] net/mlx5/hws: set default miss when replacing table

2024-05-06 Thread Itamar Gozlan
Allowing the replacement of a miss table without enforcing a previous disconnecting. This feature extension allows the user to change the destination miss table when the system runs without losing traffic. Fixes: b81f95ca770d ("net/mlx5/hws: support default miss table") Cc: sta...@dpdk.org Signed

[v2 16/16] net/mlx5/hws: fix action template only term param dump print

2024-05-06 Thread Itamar Gozlan
From: Hamdan Igbaria The debug print of only_term param in the action template was printed incorrectly. Fixes: 78580cf4e796 ("net/mlx5/hws: add debug layer") Cc: sta...@dpdk.org Signed-off-by: Hamdan Igbaria Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_debug.c | 2 +- 1 file changed

[v2 15/16] net/mlx5/hws: dump action ste arrays info

2024-05-06 Thread Itamar Gozlan
From: Hamdan Igbaria Dump action ste arrays info for resizing matchers. Signed-off-by: Hamdan Igbaria Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_debug.c | 23 +++ drivers/net/mlx5/hws/mlx5dr_debug.h | 1 + drivers/net/mlx5/hws/mlx5dr_matcher.c | 1 + drive

[v2 14/16] net/mlx5/hws: fix invalid memory access in decapl3

2024-05-06 Thread Itamar Gozlan
From: Alex Vesker In case decapL3 action is created we would access header data even in case the SHARED flag is not set, this would lead to an invalid memory access. Fixes: 3a6c50215c07 ("net/mlx5/hws: support multi-pattern") Cc: sta...@dpdk.org Signed-off-by: Alex Vesker Acked-by: Matan Azrad

[v2 11/16] net/mlx5/hws: extending tag saving for match and jumbo

2024-05-06 Thread Itamar Gozlan
From: Erez Shitrit Save the exact tag when matching over jumbo masking. Fixes: 348cdeec6472 ("net/mlx5/hws: add FW WQE rule creation logic") Cc: sta...@dpdk.org Signed-off-by: Erez Shitrit Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_rule.c | 9 +++-- 1 file changed, 7 insertion

[v2 10/16] net/mlx5/hws: drop at attach number of actions

2024-05-06 Thread Itamar Gozlan
From: Alex Vesker Requesting the user for number of action resources is not defined well enough, instead the user should provide an initial action template which should contain the future attached action templates. Signed-off-by: Alex Vesker Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5

[v2 12/16] net/mlx5/hws: dw order optimization code enhancement

2024-05-06 Thread Itamar Gozlan
Improving code readability by following code styles such as mlx5dr prefix and extracting a support check to an external function call. Also, reducing unneeded static memory allocation using a bounded size macro. Fixes: 88ff41793e7a ("net/mlx5/hws: reorder STE fields to improve hash") Cc: sta...@dp

[v2 09/16] net/mlx5/hws: simplify code for updating CQ doorbell record

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik Simplify the code that does CQ poll - have DB record update as part of CQ polling. Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_send.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/net/mlx

[v2 08/16] net/mlx5/hws: fix code analysis error in passing 0 enum val

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik Instead of passing 0 as an enum parameter, define flag NONE. This resolves the following code analysis error: "enumerated type mixed with another type". This value is currently used in tests only, and will later be used in backward-compatible steering API. Fixes: 5cadd74f

[v2 07/16] net/mlx5/hws: fix error flow in mlx5dr context open

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik Add missing spinlock destruction in error flow. Fixes: b0290e56dd08 ("net/mlx5/hws: add context object") Cc: sta...@dpdk.org Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_context.c | 1 + 1 file changed, 1 insertion(+) diff --

[v2 06/16] net/mlx5/hws: simplify send queues close code

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik Small simplification to the send_queues_close code Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_send.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_send.c b/drivers/n

[v2 05/16] net/mlx5/hws: negating rte errno on rule creation failure

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik mlx5dr_rule_create returns -ret, so internal functions should return rte_errno on failure. Fix return values of the function that creates rule in root table. Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_rule.c | 2 +- 1 file ch

[v2 04/16] net/mlx5/hws: remove unused capabilities and fields

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik The following caps were never in use: - wire_regc - metadata_c - metadata_c_mask Also send ring's reg_addr field wasn't in use. Removing these caps and fields from structs and removing the code that queried them. Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad

[v2 03/16] net/mlx5/hws: fix wrong comment in mlx5dr send

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik Remove comment that documents parameter that doesn't exist. Fixes: 3eb748869d2d ("net/mlx5/hws: add send layer") Cc: sta...@dpdk.org Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_send.h | 2 -- 1 file changed, 2 deletions(-) d

[v2 02/16] common/mlx5: fix error in mlx5 prm structs

2024-05-06 Thread Itamar Gozlan
From: Yevgeny Kliteynik Fix wrong reserved size and add helpful comment Fixes: 365cdf5f8ce7 ("net/mlx5/hws: add command layer") Cc: sta...@dpdk.org Signed-off-by: Yevgeny Kliteynik Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_prm.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletio

[v2 01/16] net/mlx5/hws: move warn into debug level when needed

2024-05-06 Thread Itamar Gozlan
From: Erez Shitrit When the user tries to create a matcher and if failed with specific errno (E2BIG) the message will be in debug level and not in warning. It is a part of a feature when the user re-try to insert a new matching depends on that errno, no need the annoying message. Fixes: c55c2bf

Re: [PATCH v3] devtools: add .clang-format file

2024-05-06 Thread Abdullah Ömer Yamaç
On Sun, May 5, 2024 at 11:38 PM Stephen Hemminger < step...@networkplumber.org> wrote: > On Sun, 5 May 2024 22:42:57 +0300 > Abdullah Ömer Yamaç wrote: > > > > Also, this looks wrong. The initialized arrays looked better before. > > > > > > > > > -static const char *tuntap_types[ETH_TUNTAP_TYPE_

Re: [PATCH v2] eal/arm: replace RTE_BUILD_BUG on non-constant

2024-05-06 Thread Ruifeng Wang
+ Arm team to the loop. Removed invalid email address. From: Daniel Gregory Date: Saturday, May 4, 2024 at 2:27 AM To: Ruifeng Wang Cc: dev@dpdk.org , Punit Agrawal , Liang Ma , Daniel Gregory , Feifei Wang Subject: [PATCH v2] eal/arm: replace RTE_BUILD_BUG on non-constant The ARM implementat

[DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu

2024-05-06 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1436 Luca Boccassi (luca.bocca...@gmail.com) changed: What|Removed |Added CC||luca.bocca...@gmail.com

[RFC v6 6/6] eal: keep per-lcore power intrinsics state in lcore variable

2024-05-06 Thread Mattias Rönnblom
Keep per-lcore power intrinsics state in a lcore variable to reduce cache working set size and avoid any CPU next-line-prefetching causing false sharing. Signed-off-by: Mattias Rönnblom Acked-by: Morten Brørup --- lib/eal/x86/rte_power_intrinsics.c | 17 +++-- 1 file changed, 11 ins

[RFC v6 4/6] power: keep per-lcore state in lcore variable

2024-05-06 Thread Mattias Rönnblom
Replace static array of cache-aligned structs with an lcore variable, to slightly benefit code simplicity and performance. RFC v3: * Replace for loop with FOREACH macro. Signed-off-by: Mattias Rönnblom Acked-by: Morten Brørup --- lib/power/rte_power_pmd_mgmt.c | 34 ---

[RFC v6 3/6] random: keep PRNG state in lcore variable

2024-05-06 Thread Mattias Rönnblom
Replace keeping PRNG state in a RTE_MAX_LCORE-sized static array of cache-aligned and RTE_CACHE_GUARDed struct instances with keeping the same state in a more cache-friendly lcore variable. RFC v3: * Remove cache alignment on unregistered threads' rte_rand_state. (Morten Brørup) Signed-off-by

[RFC v6 5/6] service: keep per-lcore state in lcore variable

2024-05-06 Thread Mattias Rönnblom
Replace static array of cache-aligned structs with an lcore variable, to slightly benefit code simplicity and performance. RFC v6: * Remove a now-redundant lcore variable value memset(). RFC v5: * Fix lcore value pointer bug introduced by RFC v4. RFC v4: * Remove strange-looking lcore value l

[RFC v6 1/6] eal: add static per-lcore memory allocation facility

2024-05-06 Thread Mattias Rönnblom
Introduce DPDK per-lcore id variables, or lcore variables for short. An lcore variable has one value for every current and future lcore id-equipped thread. The primary use case is for statically allocating small chunks of often-used data, which is related logically, but where there are performan

[RFC v6 2/6] eal: add lcore variable test suite

2024-05-06 Thread Mattias Rönnblom
Add test suite to exercise the API. RFC v5: * Adapt tests to reflect the removal of the GET() and SET() macros. RFC v4: * Check all lcore id's values for all variables in the many variables test case. * Introduce test case for max-sized lcore variables. RFC v2: * Improve alignment-relate

  1   2   >