[dpdk-stable] patch 'net/qede: fix port reconfiguration' has been queued to LTS release 18.11.9

Kevin Traynor ktraynor at redhat.com
Fri Jun 5 20:24:57 CEST 2020


Hi,

FYI, your patch has been queued to LTS release 18.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/10/20. 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-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/8cd93f836bec14d0df67c59ede1dd4639a7ad833

Thanks.

Kevin.

---
>From 8cd93f836bec14d0df67c59ede1dd4639a7ad833 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rmody at marvell.com>
Date: Thu, 14 May 2020 23:34:19 -0700
Subject: [PATCH] net/qede: fix port reconfiguration

[ upstream commit 05ccc9d8a9f9338b1cb4ae515c60c60f8b7f518d ]

This patch fixes deallocation of all fastpath resources unconditionally,
when re-configuring the device. When re-allocating resources PMD depends
on application to explicitly setup the Rx/Tx queue.

Deallocation of all the resources is only required if the Rx/Tx queue
configuration changes. For other scenarios like KNI MTU change we'd keep
existing configuration.

Fixes: 8de0c4201926 ("net/qede: fix odd number of queues usage in 100G mode")
Fixes: dd28bc8c6ef4 ("net/qede: fix VF port creation sequence")

Signed-off-by: Rasesh Mody <rmody at marvell.com>
Signed-off-by: Igor Russkikh <irusskikh at marvell.com>
---
 drivers/net/qede/qede_ethdev.c | 19 +++++++++++++------
 drivers/net/qede/qede_rxtx.c   |  4 +++-
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 340c35a1be..b4a266444b 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1174,4 +1174,6 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
 	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
 	struct rte_eth_rxmode *rxmode = &eth_dev->data->dev_conf.rxmode;
+	uint8_t num_rxqs;
+	uint8_t num_txqs;
 	int ret;
 
@@ -1203,10 +1205,15 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
 		return -ENOTSUP;
 
-	qede_dealloc_fp_resc(eth_dev);
-	qdev->num_tx_queues = eth_dev->data->nb_tx_queues * edev->num_hwfns;
-	qdev->num_rx_queues = eth_dev->data->nb_rx_queues * edev->num_hwfns;
-
-	if (qede_alloc_fp_resc(qdev))
-		return -ENOMEM;
+	/* Allocate/reallocate fastpath resources only for new queue config */
+	num_txqs = eth_dev->data->nb_tx_queues * edev->num_hwfns;
+	num_rxqs = eth_dev->data->nb_rx_queues * edev->num_hwfns;
+	if (qdev->num_tx_queues != num_txqs ||
+	    qdev->num_rx_queues != num_rxqs) {
+		qede_dealloc_fp_resc(eth_dev);
+		qdev->num_tx_queues = num_txqs;
+		qdev->num_rx_queues = num_rxqs;
+		if (qede_alloc_fp_resc(qdev))
+			return -ENOMEM;
+	}
 
 	/* If jumbo enabled adjust MTU */
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 52ebc8b8b3..a72c9aa333 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -594,5 +594,5 @@ qede_alloc_mem_sb(struct qede_dev *qdev, struct ecore_sb_info *sb_info,
 int qede_alloc_fp_resc(struct qede_dev *qdev)
 {
-	struct ecore_dev *edev = &qdev->edev;
+	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
 	struct qede_fastpath *fp;
 	uint32_t num_sbs;
@@ -600,4 +600,6 @@ int qede_alloc_fp_resc(struct qede_dev *qdev)
 	int i;
 
+	PMD_INIT_FUNC_TRACE(edev);
+
 	if (IS_VF(edev))
 		ecore_vf_get_num_sbs(ECORE_LEADING_HWFN(edev), &num_sbs);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-06-05 19:20:54.096647251 +0100
+++ 0060-net-qede-fix-port-reconfiguration.patch	2020-06-05 19:20:50.885039109 +0100
@@ -1 +1 @@
-From 05ccc9d8a9f9338b1cb4ae515c60c60f8b7f518d Mon Sep 17 00:00:00 2001
+From 8cd93f836bec14d0df67c59ede1dd4639a7ad833 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 05ccc9d8a9f9338b1cb4ae515c60c60f8b7f518d ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -26 +27 @@
-index d3d916e81a..c4f8f12589 100644
+index 340c35a1be..b4a266444b 100644
@@ -29 +30 @@
-@@ -1274,4 +1274,6 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
+@@ -1174,4 +1174,6 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
@@ -36 +37 @@
-@@ -1306,10 +1308,15 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
+@@ -1203,10 +1205,15 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
@@ -59 +60 @@
-index b81788ca47..9878ba50ea 100644
+index 52ebc8b8b3..a72c9aa333 100644



More information about the stable mailing list