Re: [PATCH v2 6/7] dts: refactor logging configuration

2024-02-13 Thread Juraj Linkeš
Hi Jeremy, Just a reminder, please strip the parts you're not commenting on. On Mon, Feb 12, 2024 at 5:45 PM Jeremy Spewock wrote: > > On Tue, Feb 6, 2024 at 9:57 AM Juraj Linkeš > wrote: > > > > Remove unused parts of the code and add useful features: > > 1. Add DTS execution stages such as e

Re: [PATCH v2 0/4] more replacement of zero length array

2024-02-13 Thread David Marchand
On Tue, Feb 13, 2024 at 8:20 PM Tyler Retzlaff wrote: > > On Tue, Feb 13, 2024 at 02:14:28PM +0100, David Marchand wrote: > > On Mon, Feb 12, 2024 at 11:36 PM Tyler Retzlaff > > wrote: > > > > > > Replace some missed zero length arrays not captured in the > > > original series. > > > https://patc

[PATCH v5 3/3] net/mlx5/hws: add compare ESP sequence number support

2024-02-13 Thread Michael Baum
Add support for compare item with "RTE_FLOW_FIELD_ESP_SEQ_NUM" field. Signed-off-by: Michael Baum --- doc/guides/nics/mlx5.rst | 1 + drivers/net/mlx5/hws/mlx5dr_definer.c | 22 -- drivers/net/mlx5/mlx5_flow_hw.c | 3 +++ 3 files changed, 24 insertions(+)

[PATCH v5 2/3] net/mlx5: add support to compare random value

2024-02-13 Thread Michael Baum
Add support to use "RTE_FLOW_ITEM_TYPE_COMPARE" with "RTE_FLOW_FIELD_RAMDOM" as an argument. The random field is supported only when base is an immediate value, random field cannot be compared with enother field. Signed-off-by: Michael Baum --- doc/guides/nics/mlx5.rst| 9 - drivers

[PATCH v5 1/3] net/mlx5/hws: add support for compare matcher

2024-02-13 Thread Michael Baum
From: Hamdan Igbaria Add support for compare matcher, this matcher will allow direct comparison between two packet fields, or a packet field and a value, with fully masked DW. For now this matcher hash table is limited to size 1x1, thus it supports only 1 rule STE. Signed-off-by: Hamdan Igbaria

[PATCH v5 0/3] net/mlx5: add compare item support

2024-02-13 Thread Michael Baum
Add HWS support for compare item with: - "RTE_FLOW_FIELD_TAG". - "RTE_FLOW_FIELD_NETA". - "RTE_FLOW_FIELD_VALUE". Add HWS + PMD support for compare item with: - "RTE_FLOW_FIELD_RANDOM". - "RTE_FLOW_FIELD_ESP_SEQ_NUM". v2: - Rebase. - Add "RTE_FLOW_FIELD_META" compare support. - Reduce the "Dep

[PATCH v3 27/39] mempool: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 34/39] cryptodev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 29/39] lpm: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 32/39] bpf: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 33/39] compressdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 38/39] graph: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 39/39] ip_frag: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 37/39] gpudev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 24/39] pdcp: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 35/39] dispatcher: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 31/39] jobstats: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 22/39] rawdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 36/39] fib: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 25/39] node: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 26/39] mldev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 30/39] ipsec: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 18/39] reorder: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 28/39] member: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 19/39] regexdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 21/39] power: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 16/39] timer: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 17/39] table: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 14/39] acl: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 23/39] port: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 20/39] rcu: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 09/39] hash: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 15/39] vhost: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 13/39] distributor: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 12/39] dmadev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 11/39] ethdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 07/39] net: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 10/39] eventdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 08/39] mbuf: remove unnecessary explicit alignment

2024-02-13 Thread Tyler Retzlaff
Remove explicit alignment with __rte_aligned(sizeof(T)) on buf_iova field in the absence of packing the field should be correctly aligned. Signed-off-by: Tyler Retzlaff --- lib/mbuf/rte_mbuf_core.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/mbuf/rte_mbuf_core.h

[PATCH v3 06/39] pipeline: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 05/39] ring: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 04/39] sched: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
Replace use of __rte_aligned_16 with C11 alignas(16) and garbage collect the __rte_aligned_16 macro which was only used once. Signed-off-by: Tyler Retzlaff --- lib/sched/rte_sched.c| 21 +++-- lib/sched/rte_sched_common.h | 2 -- 2 files changed, 11 insertions(+), 12 del

[PATCH v3 00/39] use C11 alignas and normalize type alignment

2024-02-13 Thread Tyler Retzlaff
This series normalizes type and object alignment by doing the following. Fill in expansion of existing __rte_aligned, __rte_cache_aligned and __rte_cache_min_aligned macros for MSVC. Where __rte_aligned, __rte_cache_aligned and __rte_cache_min_aligned are used to align *types* move them to a loca

[PATCH v3 03/39] stack: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v3 02/39] eal: redefine macro to be integer literal for MSVC

2024-02-13 Thread Tyler Retzlaff
MSVC __declspec(align(#)) is limited and accepts only integer literals as opposed to constant expressions. define XMM_SIZE to be 16 instead of sizeof(xmm_t) and static_assert that sizeof(xmm_t) == 16 for compatibility. Signed-off-by: Tyler Retzlaff --- lib/eal/x86/include/rte_vect.h | 5 - 1

[PATCH v3 01/39] eal: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC. * Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardl

[PATCH v2 13/14] acl: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 09/14] eventdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 14/14] eal: redefine macro to be integer literal for MSVC

2024-02-13 Thread Tyler Retzlaff
MSVC __declspec(align(#)) is limited and accepts only integer literals as opposed to constant expressions. define XMM_SIZE to be 16 instead of sizeof(xmm_t) and static_assert that sizeof(xmm_t) == 16 for compatibility. Signed-off-by: Tyler Retzlaff --- lib/eal/x86/include/rte_vect.h | 5 - 1

[PATCH v2 08/14] hash: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 10/14] ethdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 11/14] dmadev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 06/14] net: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 05/14] pipeline: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 07/14] mbuf: remove unnecessary explicit alignment

2024-02-13 Thread Tyler Retzlaff
Remove explicit alignment with __rte_aligned(sizeof(T)) on buf_iova field in the absence of packing the field should be correctly aligned. Signed-off-by: Tyler Retzlaff --- lib/mbuf/rte_mbuf_core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mbuf/rte_mbuf_core.h b/lib

[PATCH v2 12/14] distributor: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 02/14] stack: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH v2 03/14] sched: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
Replace use of __rte_aligned_16 with C11 alignas(16) and garbage collect the __rte_aligned_16 macro which was only used once. Signed-off-by: Tyler Retzlaff --- lib/sched/rte_sched.c| 3 ++- lib/sched/rte_sched_common.h | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git

[PATCH v2 04/14] ring: remove unnecessary explicit alignment

2024-02-13 Thread Tyler Retzlaff
Remove explicit alignment with __rte_aligned(8) from RTE_ATOMIC(uint64_t) raw fields in the absence of packing the fields should be naturally aligned to 8. Signed-off-by: Tyler Retzlaff --- lib/ring/rte_ring_core.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ring/

[PATCH v2 01/14] eal: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC. * Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardl

[PATCH v2 00/14] use C11 alignas and normalize type alignment

2024-02-13 Thread Tyler Retzlaff
This series normalizes type and object alignment by doing the following. Fill in expansion of existing __rte_aligned, __rte_cache_aligned and __rte_cache_min_aligned macros for MSVC. Where __rte_aligned, __rte_cache_aligned and __rte_cache_min_aligned are used to align *types* move them to a loca

Re: [PATCH v2 1/1] ethdev: add IPv6 FL and TC field identifiers

2024-02-13 Thread Raslan Darawsheh
HI, > Add new "rte_flow_field_id" enumeration values to describe both IPv6 >traffic class and IPv6 flow label fields. > >The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and >"ipv6_traffic_class" in testpmd command. >The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and

Re: [PATCH v3 1/6] ethdev: add modify IPv4 next protocol field

2024-02-13 Thread Raslan Darawsheh
Hi, From: Slava Ovsiienko Sent: Wednesday, February 7, 2024 2:29 PM To: dev@dpdk.org Cc: Matan Azrad ; Raslan Darawsheh ; Ori Kam ; Dariusz Sosnowski Subject: [PATCH v3 1/6] ethdev: add modify IPv4 next protocol field Add IPv4 next protocol modify field definition. Signed-off-by: Viacheslav

Re: [PATCH] drivers: use common container_of macro

2024-02-13 Thread fengchengwen
Acked-by: Chengwen Feng On 2024/2/13 23:37, David Marchand wrote: rte_common.h provides container_of if none is defined. The drivers headers touched by this commit either already include rte_common.h or use some other common macro defined in rte_common.h. As a consequence, it seems safe to ass

Re: [PATCH 11/14] dmadev: use C11 alignas

2024-02-13 Thread fengchengwen
Acked-by: Chengwen Feng On 2024/2/14 9:26, Tyler Retzlaff wrote: * Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of

Re: [PATCH] net/mlx5: enable PCI related counters

2024-02-13 Thread Honnappa Nagarahalli
> On Feb 13, 2024, at 7:12 AM, Slava Ovsiienko wrote: > > Hi, > > Regarding "dev_out_of_buffer" - it is global counter, relates to the whole > device port, > Including queues not managed by DPDK application - Mellanox/Nvidia NICs > operate > In "bifurcated mode" - there might be queues manag

[PATCH 10/14] ethdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 13/14] acl: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 07/14] mbuf: remove unnecessary explicit alignment

2024-02-13 Thread Tyler Retzlaff
Remove explicit alignment with __rte_aligned(sizeof(T)) on buf_iova field in the absence of packing the field should be correctly aligned. Signed-off-by: Tyler Retzlaff --- lib/mbuf/rte_mbuf_core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mbuf/rte_mbuf_core.h b/lib

[PATCH 14/14] eal: redefine macro to be integer literal for MSVC

2024-02-13 Thread Tyler Retzlaff
MSVC __declspec(align(#)) is limited and accepts only integer literals as opposed to constant expressions. define XMM_SIZE to be 16 instead of sizeof(xmm_t) and static_assert that sizeof(xmm_t) == 16 for compatibility. Signed-off-by: Tyler Retzlaff --- lib/eal/x86/include/rte_vect.h | 5 - 1

[PATCH 06/14] net: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 12/14] distributor: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 11/14] dmadev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 09/14] eventdev: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 05/14] pipeline: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 08/14] hash: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 03/14] sched: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
Replace use of __rte_aligned_16 with C11 alignas(16) and garbage collect the __rte_aligned_16 macro which was only used once. Signed-off-by: Tyler Retzlaff --- lib/sched/rte_sched.c| 2 +- lib/sched/rte_sched_common.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/

[PATCH 04/14] ring: remove unnecessary explicit alignment

2024-02-13 Thread Tyler Retzlaff
Remove explicit alignment with __rte_aligned(8) from RTE_ATOMIC(uint64_t) raw fields in the absence of packing the fields should be naturally aligned to 8. Signed-off-by: Tyler Retzlaff --- lib/ring/rte_ring_core.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ring/

[PATCH 02/14] stack: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers buildin

[PATCH 01/14] eal: use C11 alignas

2024-02-13 Thread Tyler Retzlaff
* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC. * Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag. The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardl

[PATCH 00/14] use C11 alignas and normalize type alignment

2024-02-13 Thread Tyler Retzlaff
This series normalizes type and object alignment by doing the following. Fill in expansion of existing __rte_aligned, __rte_cache_aligned and __rte_cache_min_aligned macros for MSVC. Where __rte_aligned, __rte_cache_aligned and __rte_cache_min_aligned are used to align *types* move them to a loca

Re: [PATCH] net/mlx5: enable PCI related counters

2024-02-13 Thread Honnappa Nagarahalli
> On Feb 13, 2024, at 10:13 AM, Dariusz Sosnowski wrote: > >> -Original Message- >> From: Stephen Hemminger >> Sent: Saturday, February 10, 2024 02:33 >> To: Wathsala Vithanage >> Cc: NBU-Contact-Thomas Monjalon (EXTERNAL) ; >> Dariusz Sosnowski ; Slava Ovsiienko >> ; Ori Kam ; Suanmi

[PATCH V2] net/memif: fix extra mbuf refcnt update in zero copy Tx

2024-02-13 Thread Wathsala Vithanage
The refcnt update of stored mbufs in memif driver is redundant since those mbufs are only freed in eth_memif_tx_zc(). No other place can free those stored mbufs quietly. By removing this redundant update single core dpdk memif performance can be improved by 7.5%. testpmd stats on Arm Neoverse N1 (

[PATCH v3] mbuf: deprecate GCC marker in rte mbuf struct

2024-02-13 Thread Tyler Retzlaff
Provide a macro that allows conditional expansion of RTE_MARKER fields to empty to allow rte_mbuf to be used with MSVC. It is proposed that we announce the fields to be __rte_deprecated (currently disabled). Introduce C11 anonymous unions to permit aliasing of well-known offsets by name into the r

[PATCH v3] RFC deprecate RTE_MARKER in struct rte_mbuf

2024-02-13 Thread Tyler Retzlaff
Here is the latest iteration of the proposed change to allow struct rte_mbuf to be consumed by MSVC. * Introduce an internal __rte_marker macro conditionally expanded for MSVC vs existing users of the struct. At some point we can uncomment __rte_deprecated to assist migration away from the cu

Re: [PATCH v2] mbuf: replace GCC marker extension with C11 anonymous unions

2024-02-13 Thread Tyler Retzlaff
On Tue, Feb 13, 2024 at 08:27:52PM +0100, Morten Brørup wrote: > > From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > > Sent: Tuesday, 13 February 2024 19.48 > > > > On Tue, Feb 13, 2024 at 05:58:21PM +0100, Morten Brørup wrote: > > > > From: Tyler Retzlaff [mailto:roret...@linux.microso

RE: [PATCH v3 3/3] eal: remove typeof from per lcore macros

2024-02-13 Thread Morten Brørup
> From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > Sent: Tuesday, 13 February 2024 20.12 > > The design of the macros requires a type to be provided to the macro. > > By expanding the type parameter inside of typeof it also inadvertently > allows an expression to be used which appears

RE: [PATCH v2] mbuf: replace GCC marker extension with C11 anonymous unions

2024-02-13 Thread Morten Brørup
> From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > Sent: Tuesday, 13 February 2024 19.48 > > On Tue, Feb 13, 2024 at 05:58:21PM +0100, Morten Brørup wrote: > > > From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > > > Sent: Tuesday, 13 February 2024 07.46 > > > > > > Replace t

Re: [PATCH v2 0/4] more replacement of zero length array

2024-02-13 Thread Tyler Retzlaff
On Tue, Feb 13, 2024 at 02:14:28PM +0100, David Marchand wrote: > On Mon, Feb 12, 2024 at 11:36 PM Tyler Retzlaff > wrote: > > > > Replace some missed zero length arrays not captured in the > > original series. > > https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* > > > > Zero len

Re: [PATCH v2 15/21] net/bnxt: use C11 alignof

2024-02-13 Thread Ajit Khaparde
On Tue, Feb 13, 2024 at 10:34 AM Tyler Retzlaff wrote: > > Replace use of __alignof__(T) with C11 alignof(T) to improve portability > between toolchains. > > Signed-off-by: Tyler Retzlaff Acked-by: Ajit Khaparde > --- > drivers/net/bnxt/bnxt_ethdev.c | 3 ++- > 1 file changed, 2 insertions(+),

[PATCH v3 3/3] eal: remove typeof from per lcore macros

2024-02-13 Thread Tyler Retzlaff
The design of the macros requires a type to be provided to the macro. By expanding the type parameter inside of typeof it also inadvertently allows an expression to be used which appears not to have been intended after evaluating the parameter name and existing macro use. Technically this is an A

[PATCH v3 1/3] eal: provide type to per lcore macro

2024-02-13 Thread Tyler Retzlaff
Adjust the use of per lcore macro to provide type as the first argument as to not require __typeof__ during expansion. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson --- lib/eal/common/eal_common_errno.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/eal/commo

[PATCH v3 0/3] remove __typeof__ from expansion of per lcore macros

2024-02-13 Thread Tyler Retzlaff
The design of the macros requires a type to be provided to the macro. By expanding the type parameter inside of typeof it also inadvertently allows an expression to be used which appears not to have been intended after evaluating the parameter name and existing macro use. Technically this is an A

[PATCH v3 2/3] crypto/ipsec_mb: provide type to per lcore macro

2024-02-13 Thread Tyler Retzlaff
Adjust the use of per lcore macro to provide type as the first argument as to not require __typeof__ during expansion. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson --- drivers/crypto/ipsec_mb/pmd_aesni_gcm_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dr

Re: [PATCH v2] mbuf: replace GCC marker extension with C11 anonymous unions

2024-02-13 Thread Tyler Retzlaff
On Tue, Feb 13, 2024 at 05:58:21PM +0100, Morten Brørup wrote: > > From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > > Sent: Tuesday, 13 February 2024 07.46 > > > > Replace the use of RTE_MARKER with C11 anonymous unions to improve > > code portability between toolchains. > > How about

[PATCH v2 21/21] devtools: forbid direct use of compiler alignof and typeof

2024-02-13 Thread Tyler Retzlaff
Add 2 checks forbidding direct use of __alignof__ and __typeof__ instead C11 alignof and rte_common.h typeof macros should be used. Signed-off-by: Tyler Retzlaff --- devtools/checkpatches.sh | 16 1 file changed, 16 insertions(+) diff --git a/devtools/checkpatches.sh b/devtools

[PATCH v2 20/21] net/vmxnet3: use C11 alignof

2024-02-13 Thread Tyler Retzlaff
Replace use of __alignof__(T) with C11 alignof(T) to improve portability between toolchains. Signed-off-by: Tyler Retzlaff --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vm

[PATCH v2 19/21] net/virtio: use C11 alignof

2024-02-13 Thread Tyler Retzlaff
Replace use of __alignof__(T) with C11 alignof(T) to improve portability between toolchains. Signed-off-by: Tyler Retzlaff --- drivers/net/virtio/virtio_rxtx.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_

[PATCH v2 18/21] net/sfc: use C11 alignof

2024-02-13 Thread Tyler Retzlaff
Replace use of __alignof__(T) with C11 alignof(T) to improve portability between toolchains. Signed-off-by: Tyler Retzlaff --- drivers/net/sfc/sfc_dp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/sfc/sfc_dp.c b/drivers/net/sfc/sfc_dp.c index 2b0a1d7..7e2a

[PATCH v2 16/21] net/iavf: use C11 alignof

2024-02-13 Thread Tyler Retzlaff
Replace use of __alignof__(T) with C11 alignof(T) to improve portability between toolchains. Signed-off-by: Tyler Retzlaff --- drivers/net/iavf/iavf_ethdev.c | 3 ++- drivers/net/iavf/iavf_ipsec_crypto.c | 4 +++- drivers/net/iavf/iavf_testpmd.c | 3 ++- 3 files changed, 7 insertions(

  1   2   >