[dpdk-stable] patch 'net/cxgbe: fix control queue mbuf pool naming convention' has been queued to stable release 18.08.1

Kevin Traynor ktraynor at redhat.com
Fri Dec 14 18:51:58 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.08.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 12/18/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From c81824fb2b357743d53a7ea63c1e6c3ffa97cdfa Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
Date: Thu, 6 Dec 2018 15:43:20 +0530
Subject: [PATCH] net/cxgbe: fix control queue mbuf pool naming convention

[ upstream commit 46df488b270a81a9353cac9374b8c338fcf7dfeb ]

When multiple Chelsio adapters are present, the current naming
convention of using underlying physical port number of the adapter
creates conflicts when allocating control queue mbuf pool for
multiple adapters and hence results in allocation failure. Fix by
using port_id from rte_eth_dev_data, instead of physical port number.

Fixes: 3a3aaabc7c77 ("net/cxgbe: add control queue to communicate filter requests")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
---
 drivers/net/cxgbe/cxgbe_main.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index d8705163c..4cef8d04a 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -117,4 +117,5 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
 
 	for_each_port(adapter, i) {
+		struct port_info *pi = adap2pinfo(adapter, i);
 		char name[RTE_ETH_NAME_MAX_LEN];
 		struct sge_ctrl_txq *q = &s->ctrlq[i];
@@ -130,5 +131,7 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
 			goto out;
 		}
-		snprintf(name, sizeof(name), "cxgbe_ctrl_pool_%d", i);
+		snprintf(name, sizeof(name), "%s_ctrl_pool_%d",
+			 pi->eth_dev->device->driver->name,
+			 pi->eth_dev->data->port_id);
 		q->mb_pool = rte_pktmbuf_pool_create(name, s->ctrlq[i].q.size,
 						     RTE_CACHE_LINE_SIZE,
@@ -137,7 +140,8 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
 						     SOCKET_ID_ANY);
 		if (!q->mb_pool) {
-			dev_err(adapter, "Can't create ctrl pool for port: %d",
-				i);
-			err = -ENOMEM;
+			err = -rte_errno;
+			dev_err(adapter,
+				"Can't create ctrl pool for port %d. Err: %d\n",
+				pi->eth_dev->data->port_id, err);
 			goto out;
 		}
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-12-14 17:49:48.116843116 +0000
+++ 0014-net-cxgbe-fix-control-queue-mbuf-pool-naming-convent.patch	2018-12-14 17:49:47.000000000 +0000
@@ -1,8 +1,10 @@
-From 46df488b270a81a9353cac9374b8c338fcf7dfeb Mon Sep 17 00:00:00 2001
+From c81824fb2b357743d53a7ea63c1e6c3ffa97cdfa Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
 Date: Thu, 6 Dec 2018 15:43:20 +0530
 Subject: [PATCH] net/cxgbe: fix control queue mbuf pool naming convention
 
+[ upstream commit 46df488b270a81a9353cac9374b8c338fcf7dfeb ]
+
 When multiple Chelsio adapters are present, the current naming
 convention of using underlying physical port number of the adapter
 creates conflicts when allocating control queue mbuf pool for
@@ -10,7 +12,6 @@
 using port_id from rte_eth_dev_data, instead of physical port number.
 
 Fixes: 3a3aaabc7c77 ("net/cxgbe: add control queue to communicate filter requests")
-Cc: stable at dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
 ---
@@ -18,16 +19,16 @@
  1 file changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
-index ec080e5d3..0368db509 100644
+index d8705163c..4cef8d04a 100644
 --- a/drivers/net/cxgbe/cxgbe_main.c
 +++ b/drivers/net/cxgbe/cxgbe_main.c
-@@ -123,4 +123,5 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
+@@ -117,4 +117,5 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
  
  	for_each_port(adapter, i) {
 +		struct port_info *pi = adap2pinfo(adapter, i);
  		char name[RTE_ETH_NAME_MAX_LEN];
  		struct sge_ctrl_txq *q = &s->ctrlq[i];
-@@ -136,5 +137,7 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
+@@ -130,5 +131,7 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
  			goto out;
  		}
 -		snprintf(name, sizeof(name), "cxgbe_ctrl_pool_%d", i);
@@ -36,7 +37,7 @@
 +			 pi->eth_dev->data->port_id);
  		q->mb_pool = rte_pktmbuf_pool_create(name, s->ctrlq[i].q.size,
  						     RTE_CACHE_LINE_SIZE,
-@@ -143,7 +146,8 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
+@@ -137,7 +140,8 @@ int setup_sge_ctrl_txq(struct adapter *adapter)
  						     SOCKET_ID_ANY);
  		if (!q->mb_pool) {
 -			dev_err(adapter, "Can't create ctrl pool for port: %d",


More information about the stable mailing list