From: Stephen Hemminger <stephen@networkplumber.org> To: dev@dpdk.org Cc: Stephen Hemminger <stephen@networkplumber.org> Subject: [PATCH v4 0/5] cleanup more stuff on shutdown Date: Fri, 12 Nov 2021 16:28:19 -0800 Message-ID: <20211113002824.338343-1-stephen@networkplumber.org> (raw) In-Reply-To: <20200428235827.15383-1-stephen@networkplumber.org> Started using valgrind with DPDK, and there are lots of leftover memory and file descriptors. This makes it hard to find application leaks versus DPDK leaks. 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 first step 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 should be no new exposed API or ABI changes here. v4 - rebase to 20.11-rc - drop one patch (alarm cleanup is implemented) - drop patch that ends worker threads on cleanup. the test is calling rte_exit/eal_cleanup in a forked process. (could argue this is a test bug)! v3 - fix a couple of minor checkpatch complaints v2 - rebase after 20.05 file renames - incorporate review comment feedback - hold off some of the more involved patches for later Stephen Hemminger (5): eal: close log in eal_cleanup eal: mp: end the multiprocess thread during cleanup eal: vfio: cleanup the mp sync handle eal: hotplug: cleanup multiprocess resources eal: malloc: cleanup mp resources lib/eal/common/eal_common_log.c | 13 +++++++++++++ lib/eal/common/eal_common_proc.c | 20 +++++++++++++++++--- lib/eal/common/eal_private.h | 7 +++++++ lib/eal/common/hotplug_mp.c | 5 +++++ lib/eal/common/hotplug_mp.h | 6 ++++++ lib/eal/common/malloc_heap.c | 6 ++++++ lib/eal/common/malloc_heap.h | 3 +++ lib/eal/common/malloc_mp.c | 12 ++++++++++++ lib/eal/common/malloc_mp.h | 3 +++ lib/eal/linux/eal.c | 7 +++++++ lib/eal/linux/eal_log.c | 8 ++++++++ lib/eal/linux/eal_vfio.h | 1 + lib/eal/linux/eal_vfio_mp_sync.c | 8 ++++++++ 13 files changed, 96 insertions(+), 3 deletions(-) -- 2.30.2
next prev parent reply other threads:[~2021-11-13 0:28 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-04 1:33 [dpdk-dev] [PATCH 00/14] cleanup resources " Stephen Hemminger 2020-01-04 1:33 ` [dpdk-dev] [PATCH 01/14] eal: log: close on cleanup Stephen Hemminger 2020-01-04 1:33 ` [dpdk-dev] [PATCH 02/14] eal: log: free dynamic state " Stephen Hemminger 2020-04-25 16:26 ` David Marchand 2020-01-04 1:33 ` [dpdk-dev] [PATCH 03/14] eal: alarm: close timerfd on eal cleanup Stephen Hemminger 2020-04-25 16:32 ` David Marchand 2020-01-04 1:33 ` [dpdk-dev] [PATCH 04/14] eal: cleanup threads Stephen Hemminger 2020-02-04 14:48 ` Aaron Conole 2020-01-04 1:33 ` [dpdk-dev] [PATCH 05/14] eal: intr: cleanup resources Stephen Hemminger 2020-04-25 16:49 ` David Marchand 2020-04-26 16:24 ` Stephen Hemminger 2020-01-04 1:33 ` [dpdk-dev] [PATCH 06/14] eal: mp: end the multiprocess thread during cleanup Stephen Hemminger 2020-04-27 15:37 ` Burakov, Anatoly 2020-01-04 1:33 ` [dpdk-dev] [PATCH 07/14] eal: interrupts close epoll fd on shutdown Stephen Hemminger 2020-01-04 1:33 ` [dpdk-dev] [PATCH 08/14] eal: vfio: cleanup the mp sync handle Stephen Hemminger 2020-04-27 12:12 ` Burakov, Anatoly 2020-01-04 1:33 ` [dpdk-dev] [PATCH 09/14] eal: close mem config on cleanup Stephen Hemminger 2020-04-27 12:12 ` Burakov, Anatoly 2020-04-27 17:00 ` Stephen Hemminger 2020-04-28 9:20 ` Burakov, Anatoly 2020-01-04 1:33 ` [dpdk-dev] [PATCH 10/14] tap: close netlink socket on device close Stephen Hemminger 2020-04-25 15:52 ` David Marchand 2020-01-04 1:33 ` [dpdk-dev] [PATCH 11/14] eal: cleanup plugins data Stephen Hemminger 2020-01-04 1:33 ` [dpdk-dev] [PATCH 12/14] ethdev: raise priority of old driver warning Stephen Hemminger 2020-04-25 15:53 ` Thomas Monjalon 2020-01-04 1:33 ` [dpdk-dev] [PATCH 13/14] eal: hotplug: cleanup multiprocess resources Stephen Hemminger 2020-01-04 1:33 ` [dpdk-dev] [PATCH 14/14] eal: malloc: cleanup mp resources Stephen Hemminger 2020-04-27 12:10 ` Burakov, Anatoly 2020-02-05 9:32 ` [dpdk-dev] [PATCH 00/14] cleanup resources on shutdown David Marchand 2020-02-05 12:07 ` Stephen Hemminger 2020-02-05 12:32 ` David Marchand 2020-02-06 14:06 ` David Marchand 2020-02-07 18:24 ` Stephen Hemminger 2020-04-25 19:34 ` David Marchand 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 0/9] eal: " Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 1/8] eal: log: close on cleanup Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 2/8] eal: log: free dynamic state " Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 3/8] eal: alarm: close file " Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 4/8] eal: cleanup threads Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 5/8] eal: mp: end the multiprocess thread during cleanup Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 6/8] eal: vfio: cleanup the mp sync handle Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 7/8] eal: hotplug: cleanup multiprocess resources Stephen Hemminger 2020-04-28 23:14 ` [dpdk-dev] [PATCH v2 8/8] eal: malloc: cleanup mp resources Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 0/8] eal: cleanup resources on shutdown Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 1/8] eal: log: close on cleanup Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 2/8] eal: log: free dynamic state " Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 3/8] eal: alarm: close file " Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 4/8] eal: cleanup threads Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 5/8] eal: mp: end the multiprocess thread during cleanup Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 6/8] eal: vfio: cleanup the mp sync handle Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 7/8] eal: hotplug: cleanup multiprocess resources Stephen Hemminger 2020-04-28 23:58 ` [dpdk-dev] [PATCH v3 8/8] eal: malloc: cleanup mp resources Stephen Hemminger 2020-05-03 17:21 ` [dpdk-dev] [PATCH v3 0/8] eal: cleanup resources on shutdown David Marchand 2020-10-19 22:24 ` Thomas Monjalon 2021-03-24 21:30 ` Thomas Monjalon 2021-11-13 0:28 ` Stephen Hemminger [this message] 2021-11-13 0:28 ` [PATCH v4 1/5] eal: close log in eal_cleanup Stephen Hemminger 2021-11-13 0:28 ` [PATCH v4 2/5] eal: mp: end the multiprocess thread during cleanup Stephen Hemminger 2021-11-13 0:28 ` [PATCH v4 3/5] eal: vfio: cleanup the mp sync handle Stephen Hemminger 2021-11-13 0:28 ` [PATCH v4 4/5] eal: hotplug: cleanup multiprocess resources Stephen Hemminger 2021-11-13 0:28 ` [PATCH v4 5/5] eal: malloc: cleanup mp resources Stephen Hemminger 2021-11-13 3:32 ` [PATCH v5 0/5] cleanup DPDK resources via eal_cleanup Stephen Hemminger 2021-11-13 3:32 ` [PATCH v5 1/5] eal: close log in eal_cleanup Stephen Hemminger 2021-11-13 3:32 ` [PATCH v5 2/5] eal: mp: end the multiprocess thread during cleanup Stephen Hemminger 2021-11-13 3:32 ` [PATCH v5 3/5] eal: vfio: cleanup the mp sync handle Stephen Hemminger 2021-11-13 3:32 ` [PATCH v5 4/5] eal: hotplug: cleanup multiprocess resources Stephen Hemminger 2021-11-13 3:32 ` [PATCH v5 5/5] eal: malloc: cleanup mp resources Stephen Hemminger 2021-11-13 17:22 ` [PATCH v6 0/5] cleanup more resources on eal_cleanup Stephen Hemminger 2021-11-13 17:22 ` [PATCH v6 1/5] eal: close log in eal_cleanup Stephen Hemminger 2021-11-13 17:22 ` [PATCH v6 2/5] eal: mp: end the multiprocess thread during cleanup Stephen Hemminger 2021-11-13 17:22 ` [PATCH v6 3/5] eal: vfio: cleanup the mp sync handle Stephen Hemminger 2021-11-13 17:22 ` [PATCH v6 4/5] eal: hotplug: cleanup multiprocess resources Stephen Hemminger 2021-11-13 17:22 ` [PATCH v6 5/5] eal: malloc: cleanup mp resources Stephen Hemminger 2022-02-11 20:17 ` [PATCH v6 0/5] cleanup more resources on eal_cleanup Thomas Monjalon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211113002824.338343-1-stephen@networkplumber.org \ --to=stephen@networkplumber.org \ --cc=dev@dpdk.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git