patch 'net/gve: always attempt Rx refill on DQ' has been queued to stable release 23.11.3

Xueming Li xuemingl at nvidia.com
Mon Nov 11 07:28:15 CET 2024


Hi,

FYI, your patch has been queued to stable release 23.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/30/24. 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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=efbc64f353914ae5763f5b201e1d597d6c7b5044

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From efbc64f353914ae5763f5b201e1d597d6c7b5044 Mon Sep 17 00:00:00 2001
From: Joshua Washington <joshwash at google.com>
Date: Tue, 1 Oct 2024 16:45:33 -0700
Subject: [PATCH] net/gve: always attempt Rx refill on DQ
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 31d2149719b716dfc8a30f2fc4fe4bd2e02f7a50 ]

Before this patch, gve_rx_refill_dqo() is only called if the number of
packets received in a cycle is non-zero. However, in a
memory-constrained scenario, this doesn't behave well, as this could be
a potential source of lockup, if there is no memory and all buffers have
been received before memory is freed up for the driver to use.

This patch moves the gve_rx_refill_dqo() call to occur regardless of
whether packets have been received so that in the case that enough
memory is freed, the driver can recover.

Fixes: 45da16b5b181 ("net/gve: support basic Rx data path for DQO")

Signed-off-by: Joshua Washington <joshwash at google.com>
Reviewed-by: Praveen Kaligineedi <pkaligineedi at google.com>
Reviewed-by: Rushil Gupta <rushilg at google.com>
---
 drivers/net/gve/gve_rx_dqo.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/gve/gve_rx_dqo.c b/drivers/net/gve/gve_rx_dqo.c
index 855c06dc11..0203d23b9a 100644
--- a/drivers/net/gve/gve_rx_dqo.c
+++ b/drivers/net/gve/gve_rx_dqo.c
@@ -135,14 +135,12 @@ gve_rx_burst_dqo(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)

 	if (nb_rx > 0) {
 		rxq->rx_tail = rx_id;
-		if (rx_id_bufq != rxq->next_avail)
-			rxq->next_avail = rx_id_bufq;
-
-		gve_rx_refill_dqo(rxq);
+		rxq->next_avail = rx_id_bufq;

 		rxq->stats.packets += nb_rx;
 		rxq->stats.bytes += bytes;
 	}
+	gve_rx_refill_dqo(rxq);

 	return nb_rx;
 }
--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-11-11 14:23:09.176827557 +0800
+++ 0089-net-gve-always-attempt-Rx-refill-on-DQ.patch	2024-11-11 14:23:05.232192837 +0800
@@ -1 +1 @@
-From 31d2149719b716dfc8a30f2fc4fe4bd2e02f7a50 Mon Sep 17 00:00:00 2001
+From efbc64f353914ae5763f5b201e1d597d6c7b5044 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 31d2149719b716dfc8a30f2fc4fe4bd2e02f7a50 ]
@@ -17 +19,0 @@
-Cc: stable at dpdk.org
@@ -27 +29 @@
-index 81a68f0c7e..e4084bc0dd 100644
+index 855c06dc11..0203d23b9a 100644
@@ -30 +32 @@
-@@ -195,14 +195,12 @@ gve_rx_burst_dqo(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
+@@ -135,14 +135,12 @@ gve_rx_burst_dqo(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)


More information about the stable mailing list