[PATCH v2 1/2] net/txgbe: add vectorized functions for Rx/Tx

2024-04-08 Thread Jiawen Wu
To optimize Rx/Tx burst process, add SSE/NEON vector instructions on x86/arm architecture. The performance test results on Phytium D2000(ARM64) show that, throughput for 64-byte packets increased from 64.844% to 73.984%. Signed-off-by: Jiawen Wu --- drivers/net/txgbe/meson.build |

[PATCH v2 2/2] net/ngbe: add vectorized functions for Rx/Tx

2024-04-08 Thread Jiawen Wu
To optimize Rx/Tx burst process, add SSE/NEON vector instructions on x86/arm architecture. The performance test results on Phytium D2000(ARM64) show that, throughput for 128-byte packets increased from 76.797% to 94.375%. Signed-off-by: Jiawen Wu --- drivers/net/ngbe/meson.build|

[PATCH v2 0/2] Wangxun support vector Rx/Tx

2024-04-08 Thread Jiawen Wu
Add SSE/NEON vector instructions for TXGBE and NGBE driver to process packets. v2: - Add performance test results. - Cleanup codes and rebase. - Remove GCC "-Wcast-qual". Jiawen Wu (2): net/txgbe: add vectorized functions for Rx/Tx net/ngbe: add vectorized functions for Rx/Tx drivers/net/ng

Re: [PATCH] ARM64: Cross-Compilation Support

2024-04-08 Thread Jerin Jacob
On Fri, Apr 5, 2024 at 4:52 PM Sebastian Brzezinka wrote: > > From: Krishna Kanth Reddy > > Modified the Configuration file to use the latest ARM Cross-Compiler. Is aarch64-none-linux* latest compiler? > > Fixed the linker errors for the undefined references to the APIs > isal_deflate_init, is

[PATCH v8 8/8] doc: update documentation of TAP PMD

2024-04-08 Thread Stephen Hemminger
The driver support of flows has changed and the wording in the guide was awkward. Drop references to DPDK pktgen in this documentation since it is not required and confusing. Signed-off-by: Stephen Hemminger --- doc/guides/linux_gsg/sys_reqs.rst | 3 + doc/guides/nics/tap.rst | 274

[PATCH v8 7/8] net/tap: remove no longer used files

2024-04-08 Thread Stephen Hemminger
The BPF api was replaced by use of libbpf. And the BPF instruction header was replaced by the skeleton. Signed-off-by: Stephen Hemminger --- drivers/net/tap/tap_bpf_api.c | 196 drivers/net/tap/tap_bpf_insns.h | 1741 --- 2 files changed, 1937 deletions(-) de

[PATCH v8 6/8] net/tap: use libbpf to load new BPF program

2024-04-08 Thread Stephen Hemminger
There were multiple issues in the RSS queue support in the TAP driver. This required extensive rework of the BPF support. Change the BPF loading to use bpftool to create a skeleton header file, and load with libbpf. The BPF is always compiled from source so less chance that source and instructions

[PATCH v8 5/8] net/tap: rewrite the RSS BPF program

2024-04-08 Thread Stephen Hemminger
Rewrite the BPF program used to do queue based RSS. Important changes: - uses newer BPF map format BTF - accepts key as parameter rather than constant default - can do L3 or L4 hashing - supports IPv4 options - supports IPv6 extension headers - restru

[PATCH v8 4/8] net/tap: do not build flow support if header is out of date

2024-04-08 Thread Stephen Hemminger
The proper place for finding bpf structures and functions is in linux/bpf.h. The original version was trying to workaround the case where the build environment was running on old pre BPF version of Glibc, but the target environment had BPF. Having own private (and divergent) version headers leads

[PATCH v8 3/8] net/tap: validate and setup parameters for BPF RSS

2024-04-08 Thread Stephen Hemminger
The flow RSS support via BPF was not using the key, or hash type parameters. Which is good because they were never properly setup. Fix the setup and validate the flow parameters, the BPF side gets fixed later. Signed-off-by: Stephen Hemminger --- drivers/net/tap/tap_flow.c | 65

[PATCH v8 2/8] net/tap: remove unused fields

2024-04-08 Thread Stephen Hemminger
The driver doesn't support these other hash types, and there is no reason to implement these in future. The rss_flows list was set but never used. Signed-off-by: Stephen Hemminger --- drivers/net/tap/rte_eth_tap.h | 4 +--- drivers/net/tap/tap_flow.c| 1 - drivers/net/tap/tap_rss.h | 6 -

[PATCH v8 0/8] net/tap: cleanups and fix BPF support

2024-04-08 Thread Stephen Hemminger
The support of doing RSS for rte_flow_action was a cool idea but it has been broken for several releases of DPDK as the kernel and BPF infrastructure changed. This series cleans up the BPF program, implements several features that were never completed in the original code and changes to use the cu

[PATCH v8 1/8] net/tap: do not duplicate fd's

2024-04-08 Thread Stephen Hemminger
The TAP device can use same file descriptopr for both rx and tx queues. This allows up to 8 queues (versus 4). Signed-off-by: Stephen Hemminger --- drivers/net/tap/meson.build | 2 +- drivers/net/tap/rte_eth_tap.c | 197 +++--- drivers/net/tap/rte_eth_tap.h | 3

Re: [PATCH] app/testpmd: handle IEEE1588 init fail

2024-04-08 Thread Stephen Hemminger
On Tue, 9 Apr 2024 10:06:01 +0800 huangdengdui wrote: > On 2024/4/8 16:45, Ferruh Yigit wrote: > > On 4/8/2024 6:52 AM, huangdengdui wrote: > >> > >> > >> On 2024/4/6 0:44, Stephen Hemminger wrote: > >>> On Sat, 30 Mar 2024 15:44:09 +0800 > >>> Dengdui Huang wrote: > >>> > When the po

Re: [PATCH] app/testpmd: handle IEEE1588 init fail

2024-04-08 Thread huangdengdui
On 2024/4/8 16:45, Ferruh Yigit wrote: > On 4/8/2024 6:52 AM, huangdengdui wrote: >> >> >> On 2024/4/6 0:44, Stephen Hemminger wrote: >>> On Sat, 30 Mar 2024 15:44:09 +0800 >>> Dengdui Huang wrote: >>> When the port's timestamping function failed to initialize (for example, the device

[PATCH v2] latencystats: performance overhaul

2024-04-08 Thread Stephen Hemminger
The latencystats library had multiple performance issues. - using floating point in the fast path of Tx - global lock in fast path - global stats cause cache thrashing - divide instructions in fast path Other minor issues: - message split across lines - error messages not printed with

[PATCH v7 8/8] doc: update documentation of TAP PMD

2024-04-08 Thread Stephen Hemminger
The driver support of flows has changed and the wording in the guide was awkward. Drop references to DPDK pktgen in this documentation since it is not required and confusing. Signed-off-by: Stephen Hemminger --- doc/guides/linux_gsg/sys_reqs.rst | 3 + doc/guides/nics/tap.rst | 268

[PATCH v7 7/8] net/tap: remove no longer used files

2024-04-08 Thread Stephen Hemminger
The BPF api was replaced by use of libbpf. And the BPF instruction header was replaced by the skeleton. Signed-off-by: Stephen Hemminger --- drivers/net/tap/tap_bpf_api.c | 196 drivers/net/tap/tap_bpf_insns.h | 1741 --- 2 files changed, 1937 deletions(-) de

[PATCH v7 6/8] net/tap: use libbpf to load new BPF program

2024-04-08 Thread Stephen Hemminger
There were multiple issues in the RSS queue support in the TAP driver. This required extensive rework of the BPF support. Change the BPF loading to use bpftool to create a skeleton header file, and load with libbpf. The BPF is always compiled from source so less chance that source and instructions

[PATCH v7 5/8] net/tap: rewrite the RSS BPF program

2024-04-08 Thread Stephen Hemminger
Rewrite the BPF program used to do queue based RSS. Important changes: - uses newer BPF map format BTF - accepts key as parameter rather than constant default - can do L3 or L4 hashing - supports IPv4 options - supports IPv6 extension headers - restru

[PATCH v7 4/8] net/tap: do not build flow support if header is out of date

2024-04-08 Thread Stephen Hemminger
The proper place for finding bpf structures and functions is in linux/bpf.h. The original version was trying to workaround the case where the build environment was running on old pre BPF version of Glibc, but the target environment had BPF. Having own private (and divergent) version headers leads

[PATCH v7 3/8] net/tap: validate and setup parameters for BPF RSS

2024-04-08 Thread Stephen Hemminger
The flow RSS support via BPF was not using the key, or hash type parameters. Which is good because they were never properly setup. Fix the setup and validate the flow parameters, the BPF side gets fixed later. Signed-off-by: Stephen Hemminger --- drivers/net/tap/tap_flow.c | 65

[PATCH v7 2/8] net/tap: remove unused fields

2024-04-08 Thread Stephen Hemminger
The driver doesn't support these other hash types, and there is no reason to implement these in future. The rss_flows list was set but never used. Signed-off-by: Stephen Hemminger --- drivers/net/tap/rte_eth_tap.h | 4 +--- drivers/net/tap/tap_flow.c| 1 - drivers/net/tap/tap_rss.h | 6 -

[PATCH v7 1/8] net/tap: do not duplicate fd's

2024-04-08 Thread Stephen Hemminger
The TAP device can use same file descriptopr for both rx and tx queues. This allows up to 8 queues (versus 4). Signed-off-by: Stephen Hemminger --- drivers/net/tap/meson.build | 2 +- drivers/net/tap/rte_eth_tap.c | 197 +++--- drivers/net/tap/rte_eth_tap.h | 3

[PATCH v7 0/8] net/tap: cleanups and fix BPF support

2024-04-08 Thread Stephen Hemminger
The support of doing RSS for rte_flow_action was a cool idea but it has been broken for several releases of DPDK as the kernel and BPF infrastructure changed. This series cleans up the BPF program, implements several features that were never completed in the original code and changes to use the cu

[RFC] latencystats: performance overhaul

2024-04-08 Thread Stephen Hemminger
The latencystats library had multiple performance issues. The biggest one is the use of global data and lock for all ports and queues. Rewrite it to use per-queue statistics. Signed-off-by: Stephen Hemminger --- lib/latencystats/rte_latencystats.c | 335 +++- 1 file chang

[PATCH v2] MAINTAINERS: remove maintainers that bounce

2024-04-08 Thread Stephen Hemminger
Recent patch set for rte_memcpy, discovered that the mail addresses for yuying.zh...@intel.com and zhouguoy...@huawei.com could not be found. Signed-off-by: Stephen Hemminger --- v2 - catch other drivers maintained by Yuying MAINTAINERS | 4 1 file changed, 4 deletions(-) diff --git a/MAI

Re: [PATCH v1 1/2] dts: Improve output gathering in interactive shells

2024-04-08 Thread Jeremy Spewock
On Wed, Apr 3, 2024 at 5:00 AM Juraj Linkeš wrote: > > On Tue, Mar 12, 2024 at 6:26 PM wrote: > > > > From: Jeremy Spewock > > > > The current implementation of consuming output from interactive shells > > relies on being able to find an expected prompt somewhere within the > > output buffer aft

RE: [PATCH 0/4] RFC samples converting VLA to alloca

2024-04-08 Thread Morten Brørup
> From: Tyler Retzlaff [mailto:roret...@linux.microsoft.com] > Sent: Monday, 8 April 2024 17.27 > > For next technboard meeting. > > On Sun, Apr 07, 2024 at 10:03:06AM -0700, Stephen Hemminger wrote: > > On Sun, 7 Apr 2024 13:07:06 +0200 > > Morten Brørup wrote: > > > > > > From: Mattias Rönnblo

Re: [PATCH 01/83] examples: move alignment attribute on types

2024-04-08 Thread Tyler Retzlaff
On Sat, Apr 06, 2024 at 04:55:06PM +0200, Morten Brørup wrote: > +To: David Hunt, Distributor maintainer > +To: Radu Nicolau and Akhil Goyal, IPsec security gateway example maintainers thanks morten. if the maintainers reply to acknowledge i will update the series with your recommended feedback.

Re: [PATCH v3 1/1] eal: add C++ include guard in generic/rte_vect.h

2024-04-08 Thread Tyler Retzlaff
On Sat, Apr 06, 2024 at 07:30:38PM -0600, Ashish Sadanandan wrote: > On Wed, Apr 3, 2024 at 8:52 AM Thomas Monjalon wrote: > > > 02/04/2024 18:03, Ashish Sadanandan: > > > Hi everyone, > > > I've made the updates as suggested. Could someone please review the > > latest > > > patchset? Not sure if

Re: [PATCH 0/4] RFC samples converting VLA to alloca

2024-04-08 Thread Tyler Retzlaff
For next technboard meeting. On Sun, Apr 07, 2024 at 10:03:06AM -0700, Stephen Hemminger wrote: > On Sun, 7 Apr 2024 13:07:06 +0200 > Morten Brørup wrote: > > > > From: Mattias Rönnblom [mailto:hof...@lysator.liu.se] > > > Sent: Sunday, 7 April 2024 11.32 > > > > > > On 2024-04-04 19:15, Tyler

Re: [PATCH v2 2/8] net/ice: enhance debug when HW fails to transmit

2024-04-08 Thread Bruce Richardson
On Fri, Apr 05, 2024 at 04:45:56PM +0200, David Marchand wrote: > At the moment, if the driver sets an incorrect Tx descriptor, the HW > will raise a MDD event reported as: > ice_interrupt_handler(): OICR: MDD event > > Add some debug info for this case and the VF index in all logs. > > Signed-of

Re: [PATCH v2 1/8] net/ice: fix check for outer UDP checksum offload

2024-04-08 Thread Bruce Richardson
On Fri, Apr 05, 2024 at 04:45:55PM +0200, David Marchand wrote: > ICE_TX_CTX_EIPT_NONE == 0. > There is a good chance that !(anything & 0) is true :-). > > While removing this noop check is doable, let's check that the > descriptor does contain a outer ip type. > > Fixes: 2ed011776334 ("net/ice:

RE: [v14 0/3] net/af_xdp: fix multi interface support for K8s

2024-04-08 Thread Loftus, Ciara
> > The original `use_cni` implementation was limited to > supporting only a single netdev in a DPDK pod. This patchset > aims to fix this limitation transparently to the end user. > It will also enable compatibility with the latest AF_XDP > Device Plugin. > > Signed-off-by: Maryam Tahhan Thank

Re: [v13 2/3] net/af_xdp: fix multi interface support for K8s

2024-04-08 Thread Maryam Tahhan
On 08/04/2024 11:46, Loftus, Ciara wrote: +#ifdef ETH_AF_XDP_UPDATE_XSKMAP +static __rte_always_inline int +update_xskmap(struct xsk_socket *xsk, int map_fd, int xsk_queue_idx __rte_unused) +{ + return xsk_socket__update_xskmap(xsk, map_fd); +} +#else +static __rte_always_inline int +update

[v14 3/3] net/af_xdp: support AF_XDP DP pinned maps

2024-04-08 Thread Maryam Tahhan
Enable the AF_XDP PMD to retrieve the xskmap from a pinned eBPF map. This map is expected to be pinned by an external entity like the AF_XDP Device Plugin. This enabled unprivileged pods to create and use AF_XDP sockets. Signed-off-by: Maryam Tahhan --- doc/guides/howto/af_xdp_dp.rst | 3

[v14 2/3] net/af_xdp: fix multi interface support for K8s

2024-04-08 Thread Maryam Tahhan
The original 'use_cni' implementation, was added to enable support for the AF_XDP PMD in a K8s env without any escalated privileges. However 'use_cni' used a hardcoded socket rather than a configurable one. If a DPDK pod is requesting multiple net devices and these devices are from different pools,

[v14 1/3] docs: AF_XDP Device Plugin

2024-04-08 Thread Maryam Tahhan
Fixup the references to the AF_XDP Device Plugin in the documentation (was referred to as CNI previously) and document the single netdev limitation for deploying an AF_XDP based DPDK pod. Also renames af_xdp_cni.rst to af_xdp_dp.rst Fixes: 7fc6ae50369d ("net/af_xdp: support CNI Integration") Cc: s

[v14 0/3] net/af_xdp: fix multi interface support for K8s

2024-04-08 Thread Maryam Tahhan
The original `use_cni` implementation was limited to supporting only a single netdev in a DPDK pod. This patchset aims to fix this limitation transparently to the end user. It will also enable compatibility with the latest AF_XDP Device Plugin. Signed-off-by: Maryam Tahhan --- v14: * Fixup bpf_ma

Re: [v13 2/3] net/af_xdp: fix multi interface support for K8s

2024-04-08 Thread Maryam Tahhan
On 08/04/2024 11:46, Loftus, Ciara wrote: +#ifdef ETH_AF_XDP_UPDATE_XSKMAP +static __rte_always_inline int +update_xskmap(struct xsk_socket *xsk, int map_fd, int xsk_queue_idx __rte_unused) +{ + return xsk_socket__update_xskmap(xsk, map_fd); +} +#else +static __rte_always_inline int +update

[PATCH v2 0/1] net/ena/base: bug fix for 23.11 stable only

2024-04-08 Thread shaibran
From: Shai Brandes Hi, the fix is for a bug that was introduced in 23.11. The fix was already merged into 24.03 indirectly as part of c8a1898f82f8 ("net/ena: improve style and readability") and the entire function was later restructured in patch bcb1753156ac ("net/ena/base: modify customer met

[PATCH v2 1/1] net/ena/base: fix metrics excessive memory consumption

2024-04-08 Thread shaibran
From: Shai Brandes [ upstream commit c8a1898f82f8c04cbe1d3e2d0eec0705386c23f7 ] The driver accidentally allocates a huge memory buffer for the customer metrics because it uses an uninitialized variable for the buffer length. This can lead to excessive memory footprint for the driver which can ev

RE: [v13 2/3] net/af_xdp: fix multi interface support for K8s

2024-04-08 Thread Loftus, Ciara
> > +#ifdef ETH_AF_XDP_UPDATE_XSKMAP > +static __rte_always_inline int > +update_xskmap(struct xsk_socket *xsk, int map_fd, int xsk_queue_idx > __rte_unused) > +{ > + return xsk_socket__update_xskmap(xsk, map_fd); > +} > +#else > +static __rte_always_inline int > +update_xskmap(struct xsk_so

Re: [PATCH v2 3/8] mbuf: fix Tx checksum offload examples

2024-04-08 Thread David Marchand
On Fri, Apr 5, 2024 at 6:20 PM Morten Brørup wrote: > > From: David Marchand [mailto:david.march...@redhat.com] > > Sent: Friday, 5 April 2024 16.46 > > > > Mandate use of rte_eth_tx_prepare() in the mbuf Tx checksum offload > > examples. > > I strongly disagree with this change! Ok, I will withd

RE: [PATCH] dts: Change hugepage runtime config to 2MB Exclusively

2024-04-08 Thread Morten Brørup
> From: Bruce Richardson [mailto:bruce.richard...@intel.com] > Sent: Monday, 8 April 2024 10.11 > > On Sun, Apr 07, 2024 at 12:04:24AM +0200, Morten Brørup wrote: > > > From: Patrick Robb [mailto:pr...@iol.unh.edu] > > > Sent: Saturday, 6 April 2024 21.21 > > > > > > On Sat, Apr 6, 2024 at 4:47 AM

Re: [PATCH] net/ice: fix EIPT check is always true

2024-04-08 Thread David Marchand
On Mon, Apr 8, 2024 at 9:55 AM Shiyang He wrote: > > When enabling hardware outer UDP TX offload checksum, the EIPT judgment > is always true because ICE_TX_CTX_EIPT_NONE = 0x0. > > This patch fixes it by checking the non-zero EIPT flag. Duplicate of: https://patchwork.dpdk.org/project/dpdk/patc

Re: 22.11.5 patches review and test

2024-04-08 Thread Luca Boccassi
On Mon, 8 Apr 2024 at 05:09, YangHang Liu wrote: > > RedHat QE tested below 18 scenarios on RHEL9.4 and didn't find any new dpdk > issues. > > Guest with device assignment(PF) throughput testing(1G hugepage size): PASS > Guest with device assignment(PF) throughput testing(2M hugepage size) : PASS

Re: [PATCH v3 1/1] eal: add C++ include guard in generic/rte_vect.h

2024-04-08 Thread Bruce Richardson
On Mon, Apr 08, 2024 at 09:50:51AM +0100, Ferruh Yigit wrote: > On 4/7/2024 2:30 AM, Ashish Sadanandan wrote: > > > > > > On Wed, Apr 3, 2024 at 8:52 AM Thomas Monjalon > > wrote: > > > > 02/04/2024 18:03, Ashish Sadanandan: > > > Hi everyone, > > > I've

Re: [PATCH] maintainers: change e-mail for vmxnet3

2024-04-08 Thread Ferruh Yigit
On 4/6/2024 10:03 AM, Morten Brørup wrote: >> From: Jochen Behrens [mailto:jochen.behr...@broadcom.com] >> Sent: Friday, 5 April 2024 23.56 >> >> Change my address as VMware was acquired by Broadcom. >> >> Signed-off-by: Jochen Behrens >> --- >> MAINTAINERS | 2 +- >> 1 file changed, 1 insertion(

Re: [PATCH v3 1/1] eal: add C++ include guard in generic/rte_vect.h

2024-04-08 Thread Ferruh Yigit
On 4/7/2024 2:30 AM, Ashish Sadanandan wrote: > > > On Wed, Apr 3, 2024 at 8:52 AM Thomas Monjalon > wrote: > > 02/04/2024 18:03, Ashish Sadanandan: > > Hi everyone, > > I've made the updates as suggested. Could someone please review > the latest >

Re: [PATCH] app/testpmd: handle IEEE1588 init fail

2024-04-08 Thread Ferruh Yigit
On 4/8/2024 6:52 AM, huangdengdui wrote: > > > On 2024/4/6 0:44, Stephen Hemminger wrote: >> On Sat, 30 Mar 2024 15:44:09 +0800 >> Dengdui Huang wrote: >> >>> When the port's timestamping function failed to initialize >>> (for example, the device does not support PTP), the packets >>> received b

Re: [PATCH] MAINTAINERS: remove maintainers that bounce

2024-04-08 Thread Ferruh Yigit
On 4/5/2024 6:05 PM, Stephen Hemminger wrote: > Recent patch set for rte_memcpy, discovered that the > mail addresses for yuying.zh...@intel.com and zhouguoy...@huawei.com > could not be found. > > Signed-off-by: Stephen Hemminger > --- > MAINTAINERS | 2 -- > 1 file changed, 2 deletions(-) > >

[PATCH] config/arm: add Ampere AmpereOneX platform

2024-04-08 Thread Yutang Jiang
Signed-off-by: Yutang Jiang Signed-off-by: Yutang Jiang --- config/arm/arm64_ampereonex_linux_gcc | 16 config/arm/meson.build| 19 +++ 2 files changed, 35 insertions(+) create mode 100644 config/arm/arm64_ampereonex_linux_gcc diff --git a/confi

Re: [PATCH] dts: Change hugepage runtime config to 2MB Exclusively

2024-04-08 Thread Bruce Richardson
On Sun, Apr 07, 2024 at 12:04:24AM +0200, Morten Brørup wrote: > > From: Patrick Robb [mailto:pr...@iol.unh.edu] > > Sent: Saturday, 6 April 2024 21.21 > > > > On Sat, Apr 6, 2024 at 4:47 AM Morten Brørup > > wrote: > > > > > > > > > This change seems very CPU specific. > > > > > > E.g. in x86 32

[PATCH] net/ice: fix EIPT check is always true

2024-04-08 Thread Shiyang He
When enabling hardware outer UDP TX offload checksum, the EIPT judgment is always true because ICE_TX_CTX_EIPT_NONE = 0x0. This patch fixes it by checking the non-zero EIPT flag. Fixes: 2ed011776334 ("net/ice: fix outer UDP Tx checksum offload") Cc: sta...@dpdk.org Signed-off-by: Shiyang He ---

RE: DPDK Secondary process not able to xmit packets with MLX5 VF

2024-04-08 Thread Slava Ovsiienko
Hi, Samar * Did you start queues in secondary process? * Only one process in any moment of time manages the queue, no shared (between process) queue data sending is allowed. * From you description it looks like there is no completions seen (in CQE), I would recommend checking the UA

[DPDK/meson Bug 1412] [dpdk-24.03] meson_tests/driver: core dumped occurred after exit dpdk-test

2024-04-08 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1412 Bug ID: 1412 Summary: [dpdk-24.03] meson_tests/driver: core dumped occurred after exit dpdk-test Product: DPDK Version: 24.03 Hardware: x86 OS: Linux St