patch 'ethdev: fix port close in secondary process' has been queued to stable release 21.11.2

Kevin Traynor ktraynor at redhat.com
Thu Jun 9 13:36:32 CEST 2022


Hi,

FYI, your patch has been queued to stable release 21.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 06/13/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/7c2df6be1edcc59f8e969d37f602c49cda793bc6

Thanks.

Kevin

---
>From 7c2df6be1edcc59f8e969d37f602c49cda793bc6 Mon Sep 17 00:00:00 2001
From: "Min Hu (Connor)" <humin29 at huawei.com>
Date: Wed, 1 Jun 2022 11:15:13 +0800
Subject: [PATCH] ethdev: fix port close in secondary process

[ upstream commit ea6101a8e483f3b6ec505c91b7e72ab1628dab1f ]

Secondary process needs to close device to release process private
resources.  But secondary process should not be obliged to wait for
device stop before closing ethdev.

Fixes: febc855b358e ("ethdev: forbid closing started device")

Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
---
 lib/ethdev/rte_ethdev.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 98f3f03885..62e67f006d 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -1933,5 +1933,11 @@ rte_eth_dev_close(uint16_t port_id)
 	dev = &rte_eth_devices[port_id];
 
-	if (dev->data->dev_started) {
+	/*
+	 * Secondary process needs to close device to release process private
+	 * resources. But secondary process should not be obliged to wait
+	 * for device stop before closing ethdev.
+	 */
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY &&
+			dev->data->dev_started) {
 		RTE_ETHDEV_LOG(ERR, "Cannot close started device (port %u)\n",
 			       port_id);
-- 
2.34.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-06-09 12:34:30.815526507 +0100
+++ 0045-ethdev-fix-port-close-in-secondary-process.patch	2022-06-09 12:34:29.757980661 +0100
@@ -1 +1 @@
-From ea6101a8e483f3b6ec505c91b7e72ab1628dab1f Mon Sep 17 00:00:00 2001
+From 7c2df6be1edcc59f8e969d37f602c49cda793bc6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ea6101a8e483f3b6ec505c91b7e72ab1628dab1f ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index 46c088dc88..b9c5dea09f 100644
+index 98f3f03885..62e67f006d 100644
@@ -23 +24 @@
-@@ -1577,5 +1577,11 @@ rte_eth_dev_close(uint16_t port_id)
+@@ -1933,5 +1933,11 @@ rte_eth_dev_close(uint16_t port_id)



More information about the stable mailing list