patch 'net/nfp: free HW ring memzone on queue release' has been queued to stable release 21.11.1

Kevin Traynor ktraynor at redhat.com
Mon Feb 21 16:34:54 CET 2022


Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/26/22. 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/9d6db3c3ada99139dc50a8cf225123c11dd9f433

Thanks.

Kevin

---
>From 9d6db3c3ada99139dc50a8cf225123c11dd9f433 Mon Sep 17 00:00:00 2001
From: Heinrich Kuhn <heinrich.kuhn at corigine.com>
Date: Wed, 19 Jan 2022 13:48:00 +0200
Subject: [PATCH] net/nfp: free HW ring memzone on queue release

[ upstream commit 15174c40b70dfa89c1d94ff93ae756fae8d471bc ]

During Rx/Tx queue setup, memory is reserved for the hardware rings.
This memory zone should subsequently be freed in the queue release
logic. This commit also adds a call to the release logic in the
dev_close() callback so that the ring memzone may be freed during port
close too.

Fixes: b812daadad0d ("nfp: add Rx and Tx")

Signed-off-by: Heinrich Kuhn <heinrich.kuhn at corigine.com>
Signed-off-by: Simon Horman <simon.horman at corigine.com>
---
 drivers/net/nfp/nfp_ethdev.c    | 2 ++
 drivers/net/nfp/nfp_ethdev_vf.c | 2 ++
 drivers/net/nfp/nfp_rxtx.c      | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index 8e81cc498f..9166f65da3 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -303,4 +303,5 @@ nfp_net_close(struct rte_eth_dev *dev)
 		this_tx_q = (struct nfp_net_txq *)dev->data->tx_queues[i];
 		nfp_net_reset_tx_queue(this_tx_q);
+		nfp_net_tx_queue_release(dev, i);
 	}
 
@@ -308,4 +309,5 @@ nfp_net_close(struct rte_eth_dev *dev)
 		this_rx_q = (struct nfp_net_rxq *)dev->data->rx_queues[i];
 		nfp_net_reset_rx_queue(this_rx_q);
+		nfp_net_rx_queue_release(dev, i);
 	}
 
diff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c
index 303ef72b1b..0034d68ea6 100644
--- a/drivers/net/nfp/nfp_ethdev_vf.c
+++ b/drivers/net/nfp/nfp_ethdev_vf.c
@@ -220,4 +220,5 @@ nfp_netvf_close(struct rte_eth_dev *dev)
 		this_tx_q =  (struct nfp_net_txq *)dev->data->tx_queues[i];
 		nfp_net_reset_tx_queue(this_tx_q);
+		nfp_net_tx_queue_release(dev, i);
 	}
 
@@ -225,4 +226,5 @@ nfp_netvf_close(struct rte_eth_dev *dev)
 		this_rx_q =  (struct nfp_net_rxq *)dev->data->rx_queues[i];
 		nfp_net_reset_rx_queue(this_rx_q);
+		nfp_net_rx_queue_release(dev, i);
 	}
 
diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c
index 0fe1415596..335a90b2c9 100644
--- a/drivers/net/nfp/nfp_rxtx.c
+++ b/drivers/net/nfp/nfp_rxtx.c
@@ -471,4 +471,5 @@ nfp_net_rx_queue_release(struct rte_eth_dev *dev, uint16_t queue_idx)
 	if (rxq) {
 		nfp_net_rx_queue_release_mbufs(rxq);
+		rte_eth_dma_zone_free(dev, "rx_ring", queue_idx);
 		rte_free(rxq->rxbufs);
 		rte_free(rxq);
@@ -661,4 +662,5 @@ nfp_net_tx_queue_release(struct rte_eth_dev *dev, uint16_t queue_idx)
 	if (txq) {
 		nfp_net_tx_queue_release_mbufs(txq);
+		rte_eth_dma_zone_free(dev, "tx_ring", queue_idx);
 		rte_free(txq->txbufs);
 		rte_free(txq);
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-02-21 15:22:46.890309100 +0000
+++ 0105-net-nfp-free-HW-ring-memzone-on-queue-release.patch	2022-02-21 15:22:44.212704398 +0000
@@ -1 +1 @@
-From 15174c40b70dfa89c1d94ff93ae756fae8d471bc Mon Sep 17 00:00:00 2001
+From 9d6db3c3ada99139dc50a8cf225123c11dd9f433 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 15174c40b70dfa89c1d94ff93ae756fae8d471bc ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org



More information about the stable mailing list