[dpdk-dev] [PATCH 00/14] cleanup resources on shutdown
Stephen Hemminger
stephen at networkplumber.org
Sat Jan 4 02:33:27 CET 2020
Recently started using valgrind with DPDK, and the results
are not clean.
The DPDK has a function that applications can use to tell it
to cleanup resources on shutdown (rte_eal_cleanup). But the
current coverage of that API is spotty. Many internal parts of
DPDK leave files and allocated memory behind.
This patch set is a start at getting the sub-parts of
DPDK to cleanup after themselves. These are the easier ones,
the harder and more critical ones are in the drivers
and the memory subsystem.
There are no visible API or ABI changes here.
Stephen Hemminger (14):
eal: log: close on cleanup
eal: log: free dynamic state on cleanup
eal: alarm: close timerfd on eal cleanup
eal: cleanup threads
eal: intr: cleanup resources
eal: mp: end the multiprocess thread during cleanup
eal: interrupts close epoll fd on shutdown
eal: vfio: cleanup the mp sync handle
eal: close mem config on cleanup
tap: close netlink socket on device close
eal: cleanup plugins data
ethdev: raise priority of old driver warning
eal: hotplug: cleanup multiprocess resources
eal: malloc: cleanup mp resources
drivers/net/tap/rte_eth_tap.c | 7 ++++-
lib/librte_eal/common/eal_common_log.c | 30 +++++++++++++++++-
lib/librte_eal/common/eal_common_options.c | 12 +++++++
lib/librte_eal/common/eal_common_proc.c | 17 +++++++---
lib/librte_eal/common/eal_options.h | 1 +
lib/librte_eal/common/eal_private.h | 30 ++++++++++++++++++
lib/librte_eal/common/hotplug_mp.c | 5 +++
lib/librte_eal/common/hotplug_mp.h | 6 ++++
lib/librte_eal/common/malloc_heap.c | 6 ++++
lib/librte_eal/common/malloc_heap.h | 3 ++
lib/librte_eal/common/malloc_mp.c | 12 +++++++
lib/librte_eal/common/malloc_mp.h | 3 ++
lib/librte_eal/linux/eal/eal.c | 28 +++++++++++++++++
lib/librte_eal/linux/eal/eal_alarm.c | 11 +++++++
lib/librte_eal/linux/eal/eal_interrupts.c | 35 ++++++++++++++++++---
lib/librte_eal/linux/eal/eal_log.c | 14 +++++++++
lib/librte_eal/linux/eal/eal_vfio.h | 1 +
lib/librte_eal/linux/eal/eal_vfio_mp_sync.c | 8 +++++
lib/librte_ethdev/rte_ethdev.c | 2 +-
19 files changed, 218 insertions(+), 13 deletions(-)
--
2.20.1
More information about the dev
mailing list