Message ID | 20210728134848.353258-1-paulis.gributs@intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | app/testpmd: fix vm_hotplug after removal of rte_eth_devices | expand |
Context | Check | Description |
---|---|---|
ci/iol-testing | fail | Testing issues |
ci/iol-abi-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/intel-Testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/github-robot | success | github build: passed |
ci/checkpatch | success | coding style OK |
> -----Original Message----- > From: Gributs, Paulis <paulis.gributs@intel.com> > Sent: Wednesday, July 28, 2021 21:49 > To: Li, Xiaoyun <xiaoyun.li@intel.com>; Yigit, Ferruh <ferruh.yigit@intel.com> > Cc: dev@dpdk.org; thomas@monjalon.net; Gributs, Paulis > <paulis.gributs@intel.com> > Subject: [PATCH] app/testpmd: fix vm_hotplug after removal of rte_eth_devices > > After removing rte_eth_devices from testpmd the vm_hotplug no longer > recovered after removal of a device, this patch fixes this issue. > > Fixes: 0a0821bcf312 ("app/testpmd: remove most uses of internal ethdev array") > > Signed-off-by: Paulis Gributs <paulis.gributs@intel.com> > --- > app/test-pmd/testpmd.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
> > After removing rte_eth_devices from testpmd the vm_hotplug no longer > > recovered after removal of a device, this patch fixes this issue. > > > > Fixes: 0a0821bcf312 ("app/testpmd: remove most uses of internal ethdev array") > > > > Signed-off-by: Paulis Gributs <paulis.gributs@intel.com> > > --- > > app/test-pmd/testpmd.c | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> Adding a bit of explanation: "because the port was closed before querying it." About the title, vm_hotplug is nothing in testpmd, and the problem is not limited to VMs. Applied with rewording.
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 63da63eb3c..6cbe9ba3c8 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -3197,14 +3197,16 @@ rmv_port_callback(void *arg) stop_port(port_id); no_link_check = org_no_link_check; - close_port(port_id); ret = eth_dev_info_get_print_err(port_id, &dev_info); if (ret != 0) TESTPMD_LOG(ERR, "Failed to get device info for port %d, not detaching\n", port_id); - else - detach_device(dev_info.device); /* might be already removed or have more ports */ + else { + struct rte_device *device = dev_info.device; + close_port(port_id); + detach_device(device); /* might be already removed or have more ports */ + } if (need_to_start) start_packet_forwarding(0); }
After removing rte_eth_devices from testpmd the vm_hotplug no longer recovered after removal of a device, this patch fixes this issue. Fixes: 0a0821bcf312 ("app/testpmd: remove most uses of internal ethdev array") Signed-off-by: Paulis Gributs <paulis.gributs@intel.com> --- app/test-pmd/testpmd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)