patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Yang Ming <ming.1.yang@nokia-sbell.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	dpdk stable <stable@dpdk.org>
Subject: patch 'net/iavf: fix mbuf release in Arm multi-process' has been queued to stable release 24.11.2
Date: Mon, 24 Mar 2025 16:16:10 +0000	[thread overview]
Message-ID: <20250324161731.63950-3-ktraynor@redhat.com> (raw)
In-Reply-To: <20250324161731.63950-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to stable release 24.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/28/25. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/427272a2a9571e244dadeb7433d5d4cfdabf8fc2

Thanks.

Kevin

---
From 427272a2a9571e244dadeb7433d5d4cfdabf8fc2 Mon Sep 17 00:00:00 2001
From: Yang Ming <ming.1.yang@nokia-sbell.com>
Date: Fri, 7 Mar 2025 13:40:22 +0800
Subject: [PATCH] net/iavf: fix mbuf release in Arm multi-process

[ upstream commit 289d1b2e348032543f9b823d2eaf3d0e0073af56 ]

This patch addresses a bug related to mbuf release in the Arm
architecture. The previous patch resolved the mbuf release issue
in a multi-process environment but was only applicable to the
x86 architecture, leaving Arm unaddressed.
This patch extends the fix to include the Arm architecture,
ensuring consistent behavior across both x86 and Arm platforms.

Fixes: fced83c1229e ("net/iavf: fix mbuf release in multi-process")

Signed-off-by: Yang Ming <ming.1.yang@nokia-sbell.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/iavf/iavf_rxtx.c          | 3 +++
 drivers/net/iavf/iavf_rxtx.h          | 2 ++
 drivers/net/iavf/iavf_rxtx_vec_neon.c | 8 ++------
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 98a1d3f69d..0ffb9762fe 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -412,4 +412,7 @@ struct iavf_rxq_ops iavf_rxq_release_mbufs_ops[] = {
 	[IAVF_REL_MBUFS_SSE_VEC].release_mbufs = iavf_rx_queue_release_mbufs_sse,
 #endif
+#ifdef RTE_ARCH_ARM64
+	[IAVF_REL_MBUFS_NEON_VEC].release_mbufs = iavf_rx_queue_release_mbufs_neon,
+#endif
 };
 
diff --git a/drivers/net/iavf/iavf_rxtx.h b/drivers/net/iavf/iavf_rxtx.h
index 7b56076d32..ef8aab4e9d 100644
--- a/drivers/net/iavf/iavf_rxtx.h
+++ b/drivers/net/iavf/iavf_rxtx.h
@@ -449,4 +449,5 @@ enum iavf_rxtx_rel_mbufs_type {
 	IAVF_REL_MBUFS_SSE_VEC		= 1,
 	IAVF_REL_MBUFS_AVX512_VEC	= 2,
+	IAVF_REL_MBUFS_NEON_VEC		= 3,
 };
 
@@ -774,4 +775,5 @@ void iavf_tx_queue_release_mbufs_avx512(struct iavf_tx_queue *txq);
 void iavf_rx_queue_release_mbufs_sse(struct iavf_rx_queue *rxq);
 void iavf_tx_queue_release_mbufs_sse(struct iavf_tx_queue *txq);
+void iavf_rx_queue_release_mbufs_neon(struct iavf_rx_queue *rxq);
 
 static inline
diff --git a/drivers/net/iavf/iavf_rxtx_vec_neon.c b/drivers/net/iavf/iavf_rxtx_vec_neon.c
index 04be574683..4202adfb06 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_neon.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_neon.c
@@ -394,5 +394,5 @@ iavf_recv_pkts_vec(void *__rte_restrict rx_queue,
 }
 
-static void __rte_cold
+void __rte_cold
 iavf_rx_queue_release_mbufs_neon(struct iavf_rx_queue *rxq)
 {
@@ -400,12 +400,8 @@ iavf_rx_queue_release_mbufs_neon(struct iavf_rx_queue *rxq)
 }
 
-static const struct iavf_rxq_ops neon_vec_rxq_ops = {
-	.release_mbufs = iavf_rx_queue_release_mbufs_neon,
-};
-
 int __rte_cold
 iavf_rxq_vec_setup(struct iavf_rx_queue *rxq)
 {
-	rxq->ops = &neon_vec_rxq_ops;
+	rxq->rel_mbufs_type = IAVF_REL_MBUFS_NEON_VEC;
 	return iavf_rxq_vec_setup_default(rxq);
 }
-- 
2.48.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-03-24 16:15:14.946775411 +0000
+++ 0003-net-iavf-fix-mbuf-release-in-Arm-multi-process.patch	2025-03-24 16:15:14.698735288 +0000
@@ -1 +1 @@
-From 289d1b2e348032543f9b823d2eaf3d0e0073af56 Mon Sep 17 00:00:00 2001
+From 427272a2a9571e244dadeb7433d5d4cfdabf8fc2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 289d1b2e348032543f9b823d2eaf3d0e0073af56 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19,3 +20,3 @@
- drivers/net/intel/iavf/iavf_rxtx.c          | 3 +++
- drivers/net/intel/iavf/iavf_rxtx.h          | 2 ++
- drivers/net/intel/iavf/iavf_rxtx_vec_neon.c | 8 ++------
+ drivers/net/iavf/iavf_rxtx.c          | 3 +++
+ drivers/net/iavf/iavf_rxtx.h          | 2 ++
+ drivers/net/iavf/iavf_rxtx_vec_neon.c | 8 ++------
@@ -24,5 +25,5 @@
-diff --git a/drivers/net/intel/iavf/iavf_rxtx.c b/drivers/net/intel/iavf/iavf_rxtx.c
-index 657963750d..a999073691 100644
---- a/drivers/net/intel/iavf/iavf_rxtx.c
-+++ b/drivers/net/intel/iavf/iavf_rxtx.c
-@@ -381,4 +381,7 @@ struct iavf_rxq_ops iavf_rxq_release_mbufs_ops[] = {
+diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
+index 98a1d3f69d..0ffb9762fe 100644
+--- a/drivers/net/iavf/iavf_rxtx.c
++++ b/drivers/net/iavf/iavf_rxtx.c
+@@ -412,4 +412,7 @@ struct iavf_rxq_ops iavf_rxq_release_mbufs_ops[] = {
@@ -36,5 +37,5 @@
-diff --git a/drivers/net/intel/iavf/iavf_rxtx.h b/drivers/net/intel/iavf/iavf_rxtx.h
-index 6a54b446cf..823a6efa9a 100644
---- a/drivers/net/intel/iavf/iavf_rxtx.h
-+++ b/drivers/net/intel/iavf/iavf_rxtx.h
-@@ -405,4 +405,5 @@ enum iavf_rxtx_rel_mbufs_type {
+diff --git a/drivers/net/iavf/iavf_rxtx.h b/drivers/net/iavf/iavf_rxtx.h
+index 7b56076d32..ef8aab4e9d 100644
+--- a/drivers/net/iavf/iavf_rxtx.h
++++ b/drivers/net/iavf/iavf_rxtx.h
+@@ -449,4 +449,5 @@ enum iavf_rxtx_rel_mbufs_type {
@@ -46 +47 @@
-@@ -730,4 +731,5 @@ void iavf_tx_queue_release_mbufs_avx512(struct ci_tx_queue *txq);
+@@ -774,4 +775,5 @@ void iavf_tx_queue_release_mbufs_avx512(struct iavf_tx_queue *txq);
@@ -48 +49 @@
- void iavf_tx_queue_release_mbufs_sse(struct ci_tx_queue *txq);
+ void iavf_tx_queue_release_mbufs_sse(struct iavf_tx_queue *txq);
@@ -52,4 +53,4 @@
-diff --git a/drivers/net/intel/iavf/iavf_rxtx_vec_neon.c b/drivers/net/intel/iavf/iavf_rxtx_vec_neon.c
-index 6bc8e1db2a..a583340f15 100644
---- a/drivers/net/intel/iavf/iavf_rxtx_vec_neon.c
-+++ b/drivers/net/intel/iavf/iavf_rxtx_vec_neon.c
+diff --git a/drivers/net/iavf/iavf_rxtx_vec_neon.c b/drivers/net/iavf/iavf_rxtx_vec_neon.c
+index 04be574683..4202adfb06 100644
+--- a/drivers/net/iavf/iavf_rxtx_vec_neon.c
++++ b/drivers/net/iavf/iavf_rxtx_vec_neon.c
@@ -75,2 +76,2 @@
- 	rxq->mbuf_initializer = ci_rxq_mbuf_initializer(rxq->port_id);
- 	return 0;
+ 	return iavf_rxq_vec_setup_default(rxq);
+ }


  parent reply	other threads:[~2025-03-24 16:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-24 16:16 patch 'doc: fix year of final LTS release' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/bnxt: fix epoch bit calculation' " Kevin Traynor
2025-03-24 16:16 ` Kevin Traynor [this message]
2025-03-24 16:16 ` patch 'net/ice: fix flow engines order' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/ice: fix dropped packets when using VRRP' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/iavf: check interrupt registration failure' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/iavf: fix crash on app exit on FreeBSD' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix hairpin queue release' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix LACP packet handling in isolated mode' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5/hws: fix crash using represented port without ID' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix non-template set VLAN VID' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix error info in actions construct' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5/hws: fix GTP flags matching' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix non-template flow validation' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix non-template flow validation on create' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix flow group ID for action translation' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix flow matching GENEVE options' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix IPIP tunnel verification' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix mark action validation in FDB mode' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix NAT64 register selection' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix GRE matching on root table' " Kevin Traynor
2025-03-24 16:16 ` patch 'common/mlx5: add device duplication function' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/mlx5: fix GENEVE parser cleanup' " Kevin Traynor
2025-03-24 16:16 ` patch 'baseband/acc: fix queue setup failure clean up' " Kevin Traynor
2025-03-24 16:16 ` patch 'common/qat: fix devargs parsing' " Kevin Traynor
2025-03-24 16:16 ` patch 'dts: fix smoke tests docstring' " Kevin Traynor
2025-03-24 16:16 ` patch 'pdump: clear statistics when enabled' " Kevin Traynor
2025-03-24 16:16 ` patch 'examples/flow_filtering: fix IPv4 matching snippet' " Kevin Traynor
2025-03-24 16:16 ` patch 'examples/ipsec-secgw: fix cryptodev and eventdev IDs' " Kevin Traynor
2025-03-24 16:16 ` patch 'doc: add no-IOMMU mode in devbind tool guide' " Kevin Traynor
2025-03-24 16:16 ` patch 'eal: fix undetected NUMA nodes' " Kevin Traynor
2025-03-24 16:16 ` patch 'net/ixgbe: add checks for E610 VF' " Kevin Traynor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250324161731.63950-3-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=bruce.richardson@intel.com \
    --cc=ming.1.yang@nokia-sbell.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).