Re: [EXT] Re: [RFC 0/3] Introduce event link profiles

2023-08-11 Thread Mattias Rönnblom
On 2023-08-10 07:17, Pavan Nikhilesh Bhagavatula wrote: On 2023-08-09 16:26, pbhagavat...@marvell.com wrote: From: Pavan Nikhilesh A collection of event queues linked to an event port can be associated with unique identifier called as a profile, multiple such profiles can be configured based o

[PATCH] dma/skeleton: fix pthread set affinity

2023-08-11 Thread Vipin Varghese
In skeleton dma driver, the user can pin the dma thread to desired cpu core. The previous commit changed the api from set-affinity to get-affinity leading to thread to be pinned to first available lcore. Bugzilla ID: 1270 Fixes: 7fdf30d8b259 ("eal/windows: remove most pthread lifetime shim functio

[PATCH] usertools: suggest use of hwloc for new cpu

2023-08-11 Thread Vipin Varghese
Most modern processor now supports numa by partitioning NUMA based on CPU-IO & Last Level Cache within the same socket. As per the discussion in mailing list, suggesting the make use of hw-loc for such scenarios. Signed-off-by: Vipin Varghese --- --- usertools/cpu_layout.py | 10 ++ 1 fi

[PATCH] usertools: suggest use of hwloc for new cpu

2023-08-11 Thread Vipin Varghese
Most modern processor now supports numa partitioning using sub NUMA CPU-IO & Last Level Cache within the same socket. As per the discussion in mailing list, suggesting the make use of hw-loc for such scenarios. Signed-off-by: Vipin Varghese --- --- usertools/cpu_layout.py | 10 ++ 1 file

[PATCH 31/32] common/cnxk: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/common/cnxk/hw/nix.h | 7 --- drivers/comm

[PATCH 32/32] eal: remove use and definition of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use and definition of RTE_STD_C11 macro. Signed-off-by: Tyler Retzlaff --- lib/eal/common/eal_common_proc.c | 1 - lib/eal/common/eal_interrupts.h | 1 - lib/eal/common/malloc_mp.h

[PATCH 29/32] dma/idxd: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/dma/idxd/idxd_hw_defs.h | 1 - 1 file changed, 1 del

[PATCH 30/32] common/mlx5: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/common/mlx5/mlx5_common_mp.h | 2 -- 1 file changed,

[PATCH 27/32] net/igc: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/net/igc/igc_ethdev.h | 2 -- 1 file changed, 2 delet

[PATCH 20/32] cryptodev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/cryptodev/cryptodev_pmd.h | 2 +- lib/cryptodev/rte_cr

[PATCH 28/32] net/avp: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/net/avp/rte_avp_common.h | 2 -- 1 file changed, 2 d

[PATCH 22/32] examples/ip_pipeline: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- examples/ip_pipeline/pipeline.h | 2 -- examples/ip_pipeline

[PATCH 24/32] net/octeontx: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/net/octeontx/octeontx_rxtx.h | 2 -- 1 file changed,

[PATCH 23/32] net/sfc: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/net/sfc/sfc_flow.h | 2 -- drivers/net/sfc/sfc_mae.

[PATCH 26/32] net/mlx4: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/net/mlx4/mlx4.h | 1 - 1 file changed, 1 deletion(-)

[PATCH 19/32] dmadev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/dmadev/rte_dmadev.h | 1 - 1 file changed, 1 deletion(-)

[PATCH 18/32] ethdev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/ethdev/rte_flow.h | 11 --- lib/ethdev/rte_mtr.h

[PATCH 21/32] examples/ipsec-secgw: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- examples/ipsec-secgw/event_helper.h | 2 -- examples/ipsec-s

[PATCH 25/32] net/mlx5: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- drivers/net/mlx5/mlx5.h | 4 1 file changed, 4 deletion

[PATCH 17/32] eventdev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/eventdev/event_timer_adapter_pmd.h | 1 - lib/eventdev/

[PATCH 16/32] graph: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/graph/rte_graph.h | 3 --- lib/graph/rte_g

[PATCH 15/32] hash: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/hash/rte_thash.h | 2 -- 1 file changed, 2 deletions(-)

[PATCH 13/32] mbuf: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/mbuf/rte_mbuf_core.h | 4 1 file changed, 4 deletio

[PATCH 09/32] pipeline: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/pipeline/rte_pipeline.h | 1 - lib/pipeline/rte_swx_

[PATCH 14/32] ip_frag: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/ip_frag/ip_reassembly.h | 1 - 1 file changed, 1 deletio

[PATCH 12/32] mempool: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/mempool/rte_mempool.h | 1 - 1 file changed, 1 deletion(

[PATCH 10/32] net: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/net/rte_ecpri.h | 3 --- lib/net/rte_higig.h | 1 - li

[PATCH 11/32] mldev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/mldev/rte_mldev.h | 1 - 1 file changed, 1 deletion(-)

[PATCH 08/32] power: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/power/rte_power.h | 2 -- 1 file changed, 2 deletions(-)

[PATCH 05/32] ring: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/ring/rte_ring_core.h | 3 --- 1 file changed, 3 deletion

[PATCH 07/32] rawdev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/rawdev/rte_rawdev.h | 1 - 1 file changed, 1 deletion(-)

[PATCH 06/32] regexdev: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/regexdev/rte_regexdev.h | 4 1 file changed, 4 dele

[PATCH 04/32] sched: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/sched/rte_sched.c | 2 -- 1 file changed, 2 deletions(-)

[PATCH 03/32] security: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/security/rte_security.h | 5 - 1 file changed, 5 del

[PATCH 00/32] Remove use and definition of RTE_STD_C11 macro

2023-08-11 Thread Tyler Retzlaff
We now document C11 conformant compiler as a minimum, it's not necessary to mark C11 feature use with __extension__ to avoid warnings. Tyler Retzlaff (32): timer: remove use of RTE STD C11 macro stack: remove use of RTE STD C11 macro security: remove use of RTE STD C11 macro sched: remove

[PATCH 01/32] timer: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/timer/rte_timer.h | 1 - 1 file changed, 1 deletion(-)

[PATCH 02/32] stack: remove use of RTE STD C11 macro

2023-08-11 Thread Tyler Retzlaff
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary. Signed-off-by: Tyler Retzlaff --- lib/stack/rte_stack.h | 1 - 1 file changed, 1 deletion(-)

[RFC v1 1/1] dts: add scatter test suite

2023-08-11 Thread jspewock
From: Jeremy Spewock Adds a new test suite that tests the support of scattered packets in poll mode drivers. It is a rewrite of the existing scatter test suite in the DTS repository of the DPDK project. Signed-off-by: Jeremy Spewock --- .../remote_session/remote/testpmd_shell.py| 30 ++

[RFC v1 0/1] Add scatter to DTS

2023-08-11 Thread jspewock
From: Jeremy Spewock Add the scatter test suite to DTS. This suite is a rewrite of the existing test suite that can be found in the DTS repository of the DPDK project. This is a commonly used functional DTS test and so adding it to the newer DTS framework is desireable to start increasing the cov

[PATCH v11 15/16] eal: use standard ternary operator instead of GCC extension

2023-08-11 Thread Tyler Retzlaff
Use standard ternary operator instead of gcc extension. There is no concern of side-effects for this evaluation so allow the code to be portable. While here update the condition to compare default_log_stream directly against NULL. Signed-off-by: Tyler Retzlaff --- lib/eal/common/eal_common_hexd

[PATCH v11 10/16] eal: expand most macros to empty when using MSVC

2023-08-11 Thread Tyler Retzlaff
For now expand a lot of common rte macros empty. The catch here is we need to test that most of the macros do what they should but at the same time they are blocking work needed to bootstrap of the unit tests. Later we will return and provide (where possible) expansions that work correctly for msv

[PATCH v11 16/16] eal: define priority based ctor dtor for MSVC

2023-08-11 Thread Tyler Retzlaff
Provide RTE_INIT_PRIO and RTE_FINI_PRIO for MSVC allowing priority based equivalents to __attribute__(({constructor,destructor}) Signed-off-by: Tyler Retzlaff --- lib/eal/include/rte_common.h | 37 + 1 file changed, 37 insertions(+) diff --git a/lib/eal/inclu

[PATCH v11 14/16] log: use standard ternary operator instead of GCC extension

2023-08-11 Thread Tyler Retzlaff
Use standard ternary operator instead of gcc extension. There is no concern of side-effects for this evaluation so allow the code to be portable. While here update the condition to compare default_log_stream directly against NULL. Signed-off-by: Tyler Retzlaff --- lib/log/log.c | 2 +- 1 file c

[PATCH v11 13/16] eal: do not define typeof macro when building with MSVC

2023-08-11 Thread Tyler Retzlaff
When building with MSVC do not assume typeof is a macro and don't define a typeof macro that conflicts with C23 typeof keyword. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/include/rte_common.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/eal/include/rte_common

[PATCH v11 08/16] eal: hide GCC extension based alignment markers

2023-08-11 Thread Tyler Retzlaff
When compiling with MSVC don't expose typedefs used as alignment markers. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/include/rte_common.h | 4 1 file changed, 4 insertions(+) diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h index 15765b4..2f4

[PATCH v11 11/16] eal: exclude exposure of rte atomic APIs for MSVC builds

2023-08-11 Thread Tyler Retzlaff
It's discouraged to use rte_atomics APIs instead standard APIs should be used from C11. Since MSVC is a new toolchain/platform combination block visibility of the rte_atomic APIs from day 1. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/include/generic/rte_atomic.h | 7 +

[PATCH v11 12/16] eal: always define MSVC as little endian

2023-08-11 Thread Tyler Retzlaff
The MSVC compiler does not target big endian platforms so define little endian always. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/include/generic/rte_byteorder.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/eal/include/generic/rte_byteorder.h b/lib/eal/inclu

[PATCH v11 09/16] eal: hide typedefs based on GCC vector extensions

2023-08-11 Thread Tyler Retzlaff
When compiling with MSVC don't expose typedefs based on GCC vector extensions. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/include/generic/rte_vect.h | 4 1 file changed, 4 insertions(+) diff --git a/lib/eal/include/generic/rte_vect.h b/lib/eal/include/generic/rte_v

[PATCH v11 07/16] eal: use byte swap intrinsics

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64 instead expand use _byteswap_u{ushort,ulong,uint64} intrinsics instead. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/include/generic/rte_byteorder.h | 11 +++ lib/eal/x86/include/rte_byteorder.h | 4 2 files ch

[PATCH v11 05/16] eal: use umonitor umwait and tpause intrinsics

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64 instead use _umonitor, _umwait and _tpause intrinsics. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup Acked-by: Konstantin Ananyev --- lib/eal/x86/rte_power_intrinsics.c | 12 1 file changed, 12 insertions(+) diff --git a/lib/e

[PATCH v11 06/16] eal: use prefetch intrinsics

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64 instead use _mm_prefetch and _mm_cldemote intrinsics. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Konstantin Ananyev --- lib/eal/x86/include/rte_prefetch.h | 25 + 1 file chang

[PATCH v11 04/16] eal: use cpuid and cpuidex intrinsics

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64 instead use __cpuid and __cpuidex intrinsics. Signed-off-by: Tyler Retzlaff Acked-by: Morten Brørup --- lib/eal/x86/rte_cpuflags.c | 6 +- lib/eal/x86/rte_cpuid.h | 7 +++ lib/eal/x86/rte_cycles.c | 36 ++

[PATCH v11 01/16] eal: use rdtsc intrinsic

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64. Convert code to use __rdtsc intrinsic. Signed-off-by: Tyler Retzlaff Acked-by: Konstantin Ananyev Acked-by: Morten Brørup --- lib/eal/x86/include/rte_cycles.h | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/e

[PATCH v11 00/16] msvc integration changes

2023-08-11 Thread Tyler Retzlaff
In accordance with draft plan http://mails.dpdk.org/archives/web/2023-February/002023.html introduces conditionally compiled code to enable building with MSVC that _does not_ require C99/C11 meaning it can be integrated now. This series covers minimal changes for item #2 in draft plan for EAL depe

[PATCH v11 03/16] eal: use barrier intrinsics

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64 instead expand rte_compiler_barrier as _ReadWriteBarrier and for rte_smp_mb _m_mfence intrinsics. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson Acked-by: Konstantin Ananyev Acked-by: Morten Brørup --- lib/eal/include/generic/rte_atomic.

[PATCH v11 02/16] eal: use rtm and xtest intrinsics

2023-08-11 Thread Tyler Retzlaff
Inline assembly is not supported for MSVC x64. Convert code to use _xend, _xabort and _xtest intrinsics. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson Acked-by: Konstantin Ananyev Acked-by: Morten Brørup --- config/x86/meson.build| 6 ++ lib/eal/x86/include/rte_rtm.h |

Re: [PATCH v4 3/4] build: limit what is built when using MSVC compiler

2023-08-11 Thread Tyler Retzlaff
On Fri, Aug 11, 2023 at 11:24:46AM -0700, Tyler Retzlaff wrote: > Build only kvargs and telemetry when is_ms_compiler. > > Signed-off-by: Tyler Retzlaff > Acked-by: Bruce Richardson > --- > app/meson.build | 6 -- > drivers/meson.build | 4 > lib/meson.build | 8

[PATCH v4 4/4] build: enable MSVC specific compiler options

2023-08-11 Thread Tyler Retzlaff
* Enable optional use of C11 atomics support. * Enable use of C23 typeof operator. * Explicitly force intrinsics when building with MSVC. * Disable MSVC C runtime checks. Signed-off-by: Tyler Retzlaff --- config/meson.build | 8 1 file changed, 8 insertions(+) diff --git a/config/meson

[PATCH v4 1/4] build: unblock the use of the MSVC compiler

2023-08-11 Thread Tyler Retzlaff
Detect when MSVC toolset is available and tweak toolchain arguments where the meson build system offers no abstraction. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson --- config/meson.build | 23 +++ config/x86/meson.build | 10 ++ lib/meson.build

[PATCH v4 2/4] build: determine execution environment at config time

2023-08-11 Thread Tyler Retzlaff
Move execution environment determination and definitions to config. The RTE_EXEC_ENV macros are actually used by libraries built before EAL. Currently it does not matter that this is determined in lib/eal since the definitions are consumed before anything is built including libs built before lib/e

[PATCH v4 0/4] enable use of the MSVC compiler

2023-08-11 Thread Tyler Retzlaff
Introduce minimum changes to the build system to allow use of the MSVC compiler. This change is intended to enable a phased approach to allowing DPDK to built with MSVC. Building with MSVC removes barriers to enterprise customers use of DPDK who have constraints around security policy, compliance

[PATCH v4 3/4] build: limit what is built when using MSVC compiler

2023-08-11 Thread Tyler Retzlaff
Build only kvargs and telemetry when is_ms_compiler. Signed-off-by: Tyler Retzlaff Acked-by: Bruce Richardson --- app/meson.build | 6 -- drivers/meson.build | 4 lib/meson.build | 8 usertools/meson.build | 4 4 files changed, 20 insertions(+), 2 deletions(

[RFC] cryptodev: clarify usage of the block ciphers

2023-08-11 Thread Arkadiusz Kusztal
Some of the API comments incorrectly limited the usage of symmetric crypto fields to block ciphers. Signed-off-by: Arkadiusz Kusztal --- lib/cryptodev/rte_crypto_sym.h | 20 ++-- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/c

[RFC] cryptodev: refactor sm2, add plain message flag

2023-08-11 Thread Arkadiusz Kusztal
SM2 asymmetric crypto operation was split into cipher and signature operation. Now it corresponds to the other crypto algorithms and facilitates addition of other SM2 components like the SM2 key exchange. Flag to distinguish between a plain message or a hash used for signature was added to the DSA

[PATCH v2 5/6] bpf: adapt for EAL optional atomics API changes

2023-08-11 Thread Tyler Retzlaff
Adapt bpf for EAL optional atomics API changes Signed-off-by: Tyler Retzlaff --- lib/bpf/bpf_pkt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bpf/bpf_pkt.c b/lib/bpf/bpf_pkt.c index ffd2db7..b300447 100644 --- a/lib/bpf/bpf_pkt.c +++ b/lib/bpf/bpf_pkt.c @@ -25,

[PATCH v2 6/6] devtools: forbid new direct use of GCC atomic builtins

2023-08-11 Thread Tyler Retzlaff
Refrain from using compiler __atomic_xxx builtins DPDK now requires the use of rte_atomic__explicit macros when operating on DPDK atomic variables. Signed-off-by: Tyler Retzlaff Suggested-by: Morten Brørup Acked-by: Bruce Richardson --- devtools/checkpatches.sh | 6 +++--- 1 file changed, 3 in

[PATCH v2 4/6] distributor: adapt for EAL optional atomics API changes

2023-08-11 Thread Tyler Retzlaff
Adapt distributor for EAL optional atomics API changes Signed-off-by: Tyler Retzlaff --- lib/distributor/distributor_private.h| 2 +- lib/distributor/rte_distributor_single.c | 44 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/distribu

[PATCH v2 2/6] eal: adapt EAL to present rte optional atomics API

2023-08-11 Thread Tyler Retzlaff
Adapt the EAL public headers to use rte optional atomics API instead of directly using and exposing toolchain specific atomic builtin intrinsics. Signed-off-by: Tyler Retzlaff --- app/test/test_mcslock.c| 6 ++-- lib/eal/arm/include/rte_atomic_32.h| 4 +-- lib/eal/arm/inclu

[PATCH v2 3/6] eal: add rte atomic qualifier with casts

2023-08-11 Thread Tyler Retzlaff
Introduce __rte_atomic qualifying casts in rte_optional atomics inline functions to prevent cascading the need to pass __rte_atomic qualified arguments. Warning, this is really implementation dependent and being done temporarily to avoid having to convert more of the libraries and tests in DPDK in

[PATCH v2 1/6] eal: provide rte stdatomics optional atomics API

2023-08-11 Thread Tyler Retzlaff
Provide API for atomic operations in the rte namespace that may optionally be configured to use C11 atomics with meson option enable_stdatomics=true Signed-off-by: Tyler Retzlaff --- config/meson.build | 1 + lib/eal/include/generic/rte_atomic.h | 1 + lib/eal/include/g

[PATCH v2 0/6] RFC optional rte optional stdatomics API

2023-08-11 Thread Tyler Retzlaff
This series introduces API additions prefixed in the rte namespace that allow the optional use of stdatomics.h from C11 using enable_stdatomics=true for targets where enable_stdatomics=false no functional change is intended. Be aware this does not contain all changes to use stdatomics across the D

Re: [PATCH] devtools: list symbols by version

2023-08-11 Thread Stephen Hemminger
On Fri, 11 Aug 2023 17:49:44 +0200 David Marchand wrote: > Make it easier to list experimental symbols added in a certain version. > While at it, add a check on map symbol files content to avoid breaking > this listing tool. > > Example: > $ ./buildtools/map-list-symbol.sh -V 18.11 lib/eal/versi

[PATCH 9/9] net/cnxk: add represented port for cnxk

2023-08-11 Thread Harman Kalra
Adding represented port item matching and action support for cnxk device. Signed-off-by: Kiran Kumar K Signed-off-by: Harman Kalra --- doc/guides/nics/features/cnxk.ini | 1 + doc/guides/nics/features/cnxk_vec.ini | 2 + doc/guides/nics/features/cnxk_vf.ini | 2 + drivers/net/cnxk/cn

[PATCH 8/9] common/cnxk: support represented port for cnxk

2023-08-11 Thread Harman Kalra
Adding represented port item an action support for cnxk device. Flow operations can be performed via representor ports as well as represented ports. Signed-off-by: Kiran Kumar K Signed-off-by: Harman Kalra --- drivers/common/cnxk/roc_npc.c | 54 -- drivers/common/cnxk/

[PATCH 6/9] net/cnxk: representor ethdev ops

2023-08-11 Thread Harman Kalra
Implementing ethernet device operation callbacks for port representors PMD Signed-off-by: Harman Kalra --- drivers/net/cnxk/cnxk_rep.c | 62 +-- drivers/net/cnxk/cnxk_rep.h | 36 ++ drivers/net/cnxk/cnxk_rep_msg.h | 15 + drivers/net/cnxk/cnxk_rep_ops.c | 655 +

[PATCH 7/9] net/cnxk: representor flow ops

2023-08-11 Thread Harman Kalra
Implementing flow operation callbacks for port representors PMD Signed-off-by: Harman Kalra --- drivers/net/cnxk/cnxk_flow.h | 9 +- drivers/net/cnxk/cnxk_rep.h | 3 + drivers/net/cnxk/cnxk_rep_flow.c | 715 +++ drivers/net/cnxk/cnxk_rep_msg.h | 58 +++

[PATCH 5/9] net/cnxk: add representor control plane

2023-08-11 Thread Harman Kalra
Implementing the control path for representor ports, where represented ports can be configured using TLV messaging. Signed-off-by: Harman Kalra --- drivers/net/cnxk/cnxk_ethdev.c | 8 + drivers/net/cnxk/cnxk_ethdev.h | 3 + drivers/net/cnxk/cnxk_rep.c | 13 +- drivers/net/cnxk/cnxk_re

[PATCH 3/9] common/cnxk: maintaining representor state

2023-08-11 Thread Harman Kalra
Maintaining the state of representor which describes whether it has an active VF and what is the func id of the representee. Implement a mbox between VF and PF for the VF to know if representors are available. Signed-off-by: Harman Kalra --- drivers/common/cnxk/roc_dev.c | 167

[PATCH 2/9] net/cnxk: probing representor ports

2023-08-11 Thread Harman Kalra
Basic skeleton for probing representor devices. If PF device is passed with "representor" devargs, representor ports gets probed as a separate ethdev device. Signed-off-by: Harman Kalra --- doc/guides/nics/cnxk.rst| 39 + drivers/net/cnxk/cn10k_ethdev.c | 4 +- drivers/net/cnxk/cn

[PATCH 4/9] net/cnxk: callbacks for representor state

2023-08-11 Thread Harman Kalra
Implementing the callbacks for processing representor state. Three operations currently supported: - set a representor to be active if its VF is enabled and set it appropriate pf func value. - check if the VF which sent a mbox has a representor - clear representor state if its VF goes down. Signed

[PATCH 1/9] common/cnxk: debug log type for representors

2023-08-11 Thread Harman Kalra
Registering exclusive debug log type for representors Signed-off-by: Harman Kalra --- drivers/common/cnxk/roc_platform.c | 1 + drivers/common/cnxk/roc_platform.h | 2 ++ drivers/common/cnxk/version.map| 1 + 3 files changed, 4 insertions(+) diff --git a/drivers/common/cnxk/roc_platform.c

[PATCH 0/9] net/cnxk: support for port representors

2023-08-11 Thread Harman Kalra
Introducing CNXK driver support for port representor model by adding virtual ethernet ports providing a logical representation in DPDK for SR-IOV virtual function (VF) devices for control and monitoring. These port representor ethdev instances can be spawned on an as needed basis through configura

[PATCH v1 3/3] dma/idxd: add API to create and attach to window

2023-08-11 Thread Anatoly Burakov
This commit implements functions necessary to use inter-domain operations with idxd driver. The process is as follows: 1. Process A that wishes to share its memory with others, shall call `rte_idxd_window_create()`, which will return a file descriptor 2. Process A is to send above mentioned fi

[PATCH v1 2/3] dma/idxd: implement inter-domain operations

2023-08-11 Thread Anatoly Burakov
Implement inter-domain copy and fill operations defined in the newly added DMA device API. Signed-off-by: Vladimir Medvedkin Signed-off-by: Anatoly Burakov --- doc/guides/prog_guide/dmadev.rst | 4 + drivers/dma/idxd/idxd_bus.c | 35 + drivers/dma/idxd/idxd_common.c | 123

[PATCH v1 1/3] dmadev: add inter-domain operations

2023-08-11 Thread Anatoly Burakov
Add a flag to indicate that a specific device supports inter-domain operations, and add an API for inter-domain copy and fill. Inter-domain operation is an operation that is very similar to regular DMA operation, except either source or destination addresses can be in a different process's address

[PATCH v1 0/3] Add support for inter-domain DMA operations

2023-08-11 Thread Anatoly Burakov
This patchset adds inter-domain DMA operations, and implements driver support for them in Intel(R) IDXD driver. Inter-domain DMA operations are similar to regular DMA operations, except that source and/or destination addresses will be in virtual address space of another process. In this patchset,

Re: [PATCH] build: move enabled applications list declaration

2023-08-11 Thread Tyler Retzlaff
On Fri, Aug 11, 2023 at 03:28:05PM +0200, David Marchand wrote: > No functional impact foreseen. Simply move this variable and rename it > for consistency with other similar variables. > > Signed-off-by: David Marchand > --- Acked-by: Tyler Retzlaff

Re: [PATCH] build: move AVX512 check to x86 config

2023-08-11 Thread Tyler Retzlaff
On Fri, Aug 11, 2023 at 03:10:24PM +0200, David Marchand wrote: > The AVX512 check only matters to x86 compilation with gcc. > Move it where appropriate. > > Signed-off-by: David Marchand > --- Acked-by Tyler Retzlaff

Re: [PATCH 6/6] devtools: forbid new direct use of GCC atomic builtins

2023-08-11 Thread Tyler Retzlaff
On Fri, Aug 11, 2023 at 11:51:17AM +0200, Morten Brørup wrote: > > From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > > Sent: Friday, 11 August 2023 03.32 > > > > Refrain from using compiler __atomic_xxx builtins DPDK now requires > > the use of rte_atomic__explicit macros when operating

Re: [PATCH 1/6] eal: provide rte stdatomics optional atomics API

2023-08-11 Thread Tyler Retzlaff
On Fri, Aug 11, 2023 at 11:42:12AM +0200, Morten Brørup wrote: > > From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > > Sent: Friday, 11 August 2023 03.32 > > > > Provide API for atomic operations in the rte namespace that may > > optionally be configured to use C11 atomics with meson >

[PATCH] devtools: list symbols by version

2023-08-11 Thread David Marchand
Make it easier to list experimental symbols added in a certain version. While at it, add a check on map symbol files content to avoid breaking this listing tool. Example: $ ./buildtools/map-list-symbol.sh -V 18.11 lib/eal/version.map lib/eal/version.map EXPERIMENTAL rte_dev_event_callback_process

[RFC PATCH] ethdev: introduce NAT64 action

2023-08-11 Thread Bing Zhao
In order to support the communication between IPv4 and IPv6 nodes in the network, different technologies are used, like dual-stacks, tunneling and NAT64. In some IPv4-only clients, it is hard to deploy new software and hardware to support IPv6. NAT64 is a choice and it will also reduce the unneces

Re: [PATCH] common/qat: enable gen4 c devices

2023-08-11 Thread David Marchand
Hello Ciara, On Fri, Aug 11, 2023 at 2:38 PM Ciara Power wrote: > > This commit enables QAT 2.0c devices in the > Intel QuickAssist Technology PMD. It is hard to make a link between the commit title "gen 4 c devices", the table below "402xxx" and the release notes "QAT 2.0c". Can you use a singl

Re: [PATCH] build: move enabled applications list declaration

2023-08-11 Thread Bruce Richardson
On Fri, Aug 11, 2023 at 03:28:05PM +0200, David Marchand wrote: > No functional impact foreseen. Simply move this variable and rename it > for consistency with other similar variables. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

Re: [PATCH] build: move AVX512 check to x86 config

2023-08-11 Thread Bruce Richardson
On Fri, Aug 11, 2023 at 03:10:24PM +0200, David Marchand wrote: > The AVX512 check only matters to x86 compilation with gcc. > Move it where appropriate. > > Signed-off-by: David Marchand > --- Acked-by: Bruce Richardson

[PATCH] doc: add note about VMXNET3 on AMD with ESXI

2023-08-11 Thread Igor de Paula
--- .mailmap| 1 + doc/guides/nics/vmxnet3.rst | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.mailmap b/.mailmap index 864d33ee46..d408f11a97 100644 --- a/.mailmap +++ b/.mailmap @@ -1638,3 +1638,4 @@ Ziye Yang Zoltan Kiss Zorik Machulsky Zyta Szpak +Igor de

Re: [PATCH v3 3/4] build: limit what is built when using MSVC compiler

2023-08-11 Thread David Marchand
On Tue, Apr 25, 2023 at 10:08 PM Tyler Retzlaff wrote: > > Build only kvargs and telemetry when is_ms_compiler. > > Signed-off-by: Tyler Retzlaff > Acked-by: Bruce Richardson > --- > app/meson.build | 5 + > drivers/meson.build | 4 > lib/meson.build | 7 +++ > userto

Re: [PATCH v3 1/4] build: unblock the use of the MSVC compiler

2023-08-11 Thread David Marchand
On Tue, Apr 25, 2023 at 10:08 PM Tyler Retzlaff wrote: > > Detect when MSVC toolset is available and tweak toolchain arguments > where the meson build system offers no abstraction. > > Signed-off-by: Tyler Retzlaff > Acked-by: Bruce Richardson > --- > buildtools/meson.build | 10 +++--- > c

[PATCH] build: move enabled applications list declaration

2023-08-11 Thread David Marchand
No functional impact foreseen. Simply move this variable and rename it for consistency with other similar variables. Signed-off-by: David Marchand --- app/meson.build | 4 +--- meson.build | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/meson.build b/app/meson.bui

[PATCH] build: move AVX512 check to x86 config

2023-08-11 Thread David Marchand
The AVX512 check only matters to x86 compilation with gcc. Move it where appropriate. Signed-off-by: David Marchand --- buildtools/meson.build | 3 --- {buildtools => config/x86}/binutils-avx512-check.py | 0 config/x86/meson.build | 3 ++

  1   2   >