[dpdk-dev] [PATCH 13/14] eal: hotplug: cleanup multiprocess resources
Stephen Hemminger
stephen at networkplumber.org
Sat Jan 4 02:33:40 CET 2020
When rte_eal_cleanup is called, hotplug should unregister the
resources associated with the multi-process server.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
lib/librte_eal/common/hotplug_mp.c | 5 +++++
lib/librte_eal/common/hotplug_mp.h | 6 ++++++
lib/librte_eal/linux/eal/eal.c | 1 +
3 files changed, 12 insertions(+)
diff --git a/lib/librte_eal/common/hotplug_mp.c b/lib/librte_eal/common/hotplug_mp.c
index ee791903b3b7..a390c01fd41c 100644
--- a/lib/librte_eal/common/hotplug_mp.c
+++ b/lib/librte_eal/common/hotplug_mp.c
@@ -463,3 +463,8 @@ int eal_mp_dev_hotplug_init(void)
return 0;
}
+
+void eal_mp_dev_hotplug_cleanup(void)
+{
+ rte_mp_action_unregister(EAL_DEV_MP_ACTION_REQUEST);
+}
diff --git a/lib/librte_eal/common/hotplug_mp.h b/lib/librte_eal/common/hotplug_mp.h
index 8fcf9b52e24c..4848446c852d 100644
--- a/lib/librte_eal/common/hotplug_mp.h
+++ b/lib/librte_eal/common/hotplug_mp.h
@@ -37,6 +37,12 @@ struct eal_dev_mp_req {
int
eal_mp_dev_hotplug_init(void);
+/**
+ * Unregister all mp action callbacks for hotplug.
+ */
+void
+eal_mp_dev_hotplug_cleanup(void);
+
/**
* This is a synchronous wrapper for secondary process send
* request to primary process, this is invoked when an attach
diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c
index 9a00a3ed43ab..ef04defbeaa4 100644
--- a/lib/librte_eal/linux/eal/eal.c
+++ b/lib/librte_eal/linux/eal/eal.c
@@ -1343,6 +1343,7 @@ rte_eal_cleanup(void)
#endif
rte_eal_intr_cleanup();
rte_eal_alarm_cleanup();
+ eal_mp_dev_hotplug_cleanup();
rte_mp_channel_cleanup();
eal_plugins_cleanup();
eal_cleanup_config(&internal_config);
--
2.20.1
More information about the dev
mailing list