patch 'ethdev: fix port close in secondary process' has been queued to stable release 20.11.6
Xueming Li
xuemingl at nvidia.com
Tue Jun 21 10:02:32 CEST 2022
Hi,
FYI, your patch has been queued to stable release 20.11.6
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/23/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/steevenlee/dpdk
This queued commit can be viewed at:
https://github.com/steevenlee/dpdk/commit/fa4da49c81448a520107c072dee1614dd048234e
Thanks.
Xueming Li <xuemingl at nvidia.com>
---
>From fa4da49c81448a520107c072dee1614dd048234e 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
Cc: Xueming Li <xuemingl at nvidia.com>
[ 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/librte_ethdev/rte_ethdev.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index ac88c4484e..50e32d7f0d 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -1829,7 +1829,13 @@ rte_eth_dev_close(uint16_t port_id)
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
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);
return -EINVAL;
--
2.35.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2022-06-21 15:37:53.127479826 +0800
+++ 0086-ethdev-fix-port-close-in-secondary-process.patch 2022-06-21 15:37:49.177785082 +0800
@@ -1 +1 @@
-From ea6101a8e483f3b6ec505c91b7e72ab1628dab1f Mon Sep 17 00:00:00 2001
+From fa4da49c81448a520107c072dee1614dd048234e Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit ea6101a8e483f3b6ec505c91b7e72ab1628dab1f ]
@@ -11 +13,0 @@
-Cc: stable at dpdk.org
@@ -16 +18 @@
- lib/ethdev/rte_ethdev.c | 8 +++++++-
+ lib/librte_ethdev/rte_ethdev.c | 8 +++++++-
@@ -19,5 +21,5 @@
-diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
-index 46c088dc88..b9c5dea09f 100644
---- a/lib/ethdev/rte_ethdev.c
-+++ b/lib/ethdev/rte_ethdev.c
-@@ -1576,7 +1576,13 @@ rte_eth_dev_close(uint16_t port_id)
+diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
+index ac88c4484e..50e32d7f0d 100644
+--- a/lib/librte_ethdev/rte_ethdev.c
++++ b/lib/librte_ethdev/rte_ethdev.c
+@@ -1829,7 +1829,13 @@ rte_eth_dev_close(uint16_t port_id)
More information about the stable
mailing list