patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Yongseok Koh <yskoh@mellanox.com>
To: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Cc: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>,
	Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/octeontx: fix failures when available ports > queues' has been queued to LTS release 17.11.5
Date: Fri, 11 Jan 2019 02:31:39 -0800	[thread overview]
Message-ID: <20190111103142.21088-16-yskoh@mellanox.com> (raw)
In-Reply-To: <20190111103142.21088-1-yskoh@mellanox.com>

Hi,

FYI, your patch has been queued to LTS release 17.11.5

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

Yongseok

---
>From 99539d24081a4b7f40c00adcdf1aec320ab0acca Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Date: Wed, 14 Nov 2018 09:22:03 +0000
Subject: [PATCH] net/octeontx: fix failures when available ports > queues

[ upstream commit 7efd5202f7fecc3f995cbf214cdae834e7a7494f ]

When eth_octeontx is initialized before event_octeontx, eth_octeontx
would initiate setting up of the event device with the max ports and
queues available. If number of ports is more than the number of queues,
some ports would be left unused when the ports and queues are mapped
1:1. But even in that case the ports need to be setup, or otherwise it
would lead to a segmentation fault when event device is started.

Fixes: f7be70e5130e ("net/octeontx: add net device probe and remove")

Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/octeontx/octeontx_ethdev.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 830fc8471..049bc32b4 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -1264,15 +1264,8 @@ octeontx_probe(struct rte_vdev_device *dev)
 		res = -EINVAL;
 		goto parse_error;
 	}
-	if (pnum > qnum) {
-		/*
-		 * We don't poll on event ports
-		 * that do not have any queues assigned.
-		 */
-		pnum = qnum;
-		PMD_INIT_LOG(INFO,
-			"reducing number of active event ports to %d", pnum);
-	}
+
+	/* Enable all queues available */
 	for (i = 0; i < qnum; i++) {
 		res = rte_event_queue_setup(evdev, i, NULL);
 		if (res < 0) {
@@ -1282,6 +1275,7 @@ octeontx_probe(struct rte_vdev_device *dev)
 		}
 	}
 
+	/* Enable all ports available */
 	for (i = 0; i < pnum; i++) {
 		res = rte_event_port_setup(evdev, i, NULL);
 		if (res < 0) {
@@ -1290,6 +1284,14 @@ octeontx_probe(struct rte_vdev_device *dev)
 						i, res);
 			goto parse_error;
 		}
+	}
+
+	/*
+	 * Do 1:1 links for ports & queues. All queues would be mapped to
+	 * one port. If there are more ports than queues, then some ports
+	 * won't be linked to any queue.
+	 */
+	for (i = 0; i < qnum; i++) {
 		/* Link one queue to one event port */
 		qlist = i;
 		res = rte_event_port_link(evdev, i, &qlist, NULL, 1);
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-01-11 02:29:11.769971873 -0800
+++ 0016-net-octeontx-fix-failures-when-available-ports-queue.patch	2019-01-11 02:29:10.817974000 -0800
@@ -1,8 +1,10 @@
-From 7efd5202f7fecc3f995cbf214cdae834e7a7494f Mon Sep 17 00:00:00 2001
+From 99539d24081a4b7f40c00adcdf1aec320ab0acca Mon Sep 17 00:00:00 2001
 From: Anoob Joseph <anoob.joseph@caviumnetworks.com>
 Date: Wed, 14 Nov 2018 09:22:03 +0000
 Subject: [PATCH] net/octeontx: fix failures when available ports > queues
 
+[ upstream commit 7efd5202f7fecc3f995cbf214cdae834e7a7494f ]
+
 When eth_octeontx is initialized before event_octeontx, eth_octeontx
 would initiate setting up of the event device with the max ports and
 queues available. If number of ports is more than the number of queues,
@@ -11,7 +13,6 @@
 would lead to a segmentation fault when event device is started.
 
 Fixes: f7be70e5130e ("net/octeontx: add net device probe and remove")
-Cc: stable@dpdk.org
 
 Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
 Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
@@ -21,10 +22,10 @@
  1 file changed, 11 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
-index a3063be42..046e12986 100644
+index 830fc8471..049bc32b4 100644
 --- a/drivers/net/octeontx/octeontx_ethdev.c
 +++ b/drivers/net/octeontx/octeontx_ethdev.c
-@@ -1238,15 +1238,8 @@ octeontx_probe(struct rte_vdev_device *dev)
+@@ -1264,15 +1264,8 @@ octeontx_probe(struct rte_vdev_device *dev)
  		res = -EINVAL;
  		goto parse_error;
  	}
@@ -42,7 +43,7 @@
  	for (i = 0; i < qnum; i++) {
  		res = rte_event_queue_setup(evdev, i, NULL);
  		if (res < 0) {
-@@ -1256,6 +1249,7 @@ octeontx_probe(struct rte_vdev_device *dev)
+@@ -1282,6 +1275,7 @@ octeontx_probe(struct rte_vdev_device *dev)
  		}
  	}
  
@@ -50,7 +51,7 @@
  	for (i = 0; i < pnum; i++) {
  		res = rte_event_port_setup(evdev, i, NULL);
  		if (res < 0) {
-@@ -1264,6 +1258,14 @@ octeontx_probe(struct rte_vdev_device *dev)
+@@ -1290,6 +1284,14 @@ octeontx_probe(struct rte_vdev_device *dev)
  						i, res);
  			goto parse_error;
  		}

  parent reply	other threads:[~2019-01-11 10:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11 10:31 [dpdk-stable] patch 'net/octeontx: fix packet corruption on Tx' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'doc: fix style and syntax in flow API guide' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'net/mvpp2: fix array initialization' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'net/mlx5: fix interrupt completion queue index wrapping' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'doc: fix missing CCM to QAT feature list' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'app/testpmd: check Rx VLAN offload flag to print VLAN TCI' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'doc: fix typos in the flow API guide' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'app/testpmd: fix metering and policing commands' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'net/virtio: fix PCI config error handling' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'bus/dpaa: fix build with gcc 9.0' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'app/testpmd: fix RED byte stats' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'examples/flow_filtering: remove VLAN item' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'net/virtio: fix unchecked return value' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'net/octeontx: fix mbuf corruption with large private sizes' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for TM object' " Yongseok Koh
2019-01-11 10:31 ` Yongseok Koh [this message]
2019-01-11 10:31 ` [dpdk-stable] patch 'app/pdump: fix port id storage size' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'doc: add cross-compilation in sample apps guide' " Yongseok Koh
2019-01-11 10:31 ` [dpdk-stable] patch 'net/mlx4: fix possible uninitialized variable' " Yongseok Koh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190111103142.21088-16-yskoh@mellanox.com \
    --to=yskoh@mellanox.com \
    --cc=anoob.joseph@caviumnetworks.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=pbhagavatula@caviumnetworks.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).