patch 'net/bnxt: fix Tx queue stats after queue stop and start' has been queued to stable release 22.11.2

Xueming Li xuemingl at nvidia.com
Mon Feb 27 07:59:28 CET 2023


Hi,

FYI, your patch has been queued to stable release 22.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/01/23. 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=22.11-staging

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

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From bc1682ee55ff05be0fdb5915d1e6876a4886bd2e Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Date: Wed, 1 Feb 2023 09:50:12 +0530
Subject: [PATCH] net/bnxt: fix Tx queue stats after queue stop and start
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 9bd8998fe09736a048e367e1ef7543dd8b5dfd2c ]

The Tx queue stats are being reported incorrectly due to a workaround
for ring counters sometimes being reported as zero.  When a queue is
stopped and started, the ring counter is reset to zero.  The workaround
interprets the zero as incorrect, and sets the reported ring count as
the previously read value (from before the queue being restared).  This
shows up as negative counters in testpmd's "show fwd stats" command.
The fix clears the prev counter for the queue when the queue is started.

Fixes: 219842b9990c ("net/bnxt: workaround spurious zero stats in Thor")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
 drivers/net/bnxt/bnxt_txr.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 67e016775c..21c2217092 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -560,6 +560,12 @@ int bnxt_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 	if (rc)
 		return rc;

+	/* reset the previous stats for the tx_queue since the counters
+	 * will be cleared when the queue is started.
+	 */
+	memset(&bp->prev_tx_ring_stats[tx_queue_id], 0,
+	       sizeof(struct bnxt_ring_stats));
+
 	bnxt_free_hwrm_tx_ring(bp, tx_queue_id);
 	rc = bnxt_alloc_hwrm_tx_ring(bp, tx_queue_id);
 	if (rc)
--
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-02-27 14:08:42.873453500 +0800
+++ 0061-net-bnxt-fix-Tx-queue-stats-after-queue-stop-and-sta.patch	2023-02-27 14:08:40.789237000 +0800
@@ -1 +1 @@
-From 9bd8998fe09736a048e367e1ef7543dd8b5dfd2c Mon Sep 17 00:00:00 2001
+From bc1682ee55ff05be0fdb5915d1e6876a4886bd2e Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 9bd8998fe09736a048e367e1ef7543dd8b5dfd2c ]
@@ -15 +17,0 @@
-Cc: stable at dpdk.org


More information about the stable mailing list