From: Luis Chamberlain <mcgrof@kernel.org>
To: david@redhat.com, patches@lists.linux.dev,
linux-modules@vger.kernel.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, pmladek@suse.com,
petr.pavlu@suse.com, prarit@redhat.com,
torvalds@linux-foundation.org, gregkh@linuxfoundation.org,
rafael@kernel.org
Cc: christophe.leroy@csgroup.eu, tglx@linutronix.de,
peterz@infradead.org, song@kernel.org, rppt@kernel.org,
dave@stgolabs.net, willy@infradead.org, vbabka@suse.cz,
mhocko@suse.com, dave.hansen@linux.intel.com,
colin.i.king@gmail.com, jim.cromie@gmail.com,
catalin.marinas@arm.com, jbaron@akamai.com,
rick.p.edgecombe@intel.com, mcgrof@kernel.org
Subject: [PATCH v3 0/4] module: avoid userspace pressure on unwanted allocations
Date: Thu, 13 Apr 2023 22:08:32 -0700 [thread overview]
Message-ID: <20230414050836.1984746-1-mcgrof@kernel.org> (raw)
This v3 series follows up on the second iteration of these patches [0]. This
and other pending changes are avaiable on 20230413-module-alloc-opts
branch [1] which is based on modules-next.
Changes on this v3:
o Catalin Marinas suggested we just use kmemleak_not_leak() for both
ELF allocations even if its init stuff.
o Considerable amount of effort went into trying to see if there's
relationship with CPU count and wasted virtual memory allocations.
The new module debugfs counters helped with creating this evaluation.
The result of that put me on a path to then add even more debugging
facilities to rule out and identify the culprits. In the end I have
patches now which can get this down to 0 bytes wasted. The patch
in this series which helps reduce the allocations has a graph
showing the findings of the relationship between wasted virtual
memory allocations and CPU count all during boot. It is insanity
that the graph has to go into gigabytes of wasted virtual memory all
at boot.
o To help folks compare apples to apples I've put the stats debug
patch *prior* to the one that helps with allocations. This way folks
can see for themselves what the results look like.
o Enhanced the statistics a bit more and added an example with 255 CPUs.
o Went with atomic_long and casting for the debugs big counters.
o Rolled in the patch that moved a helper as David suggested.
o Minor fixes reported by 0-day
o Added tags for Reviews, etc.
[0] https://lkml.kernel.org/r/20230405022702.753323-1-mcgrof@kernel.org
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/log/?h=20230413-module-alloc-opts
Luis Chamberlain (4):
module: fix kmemleak annotations for non init ELF sections
module: extract patient module check into helper
module: add debug stats to help identify memory pressure
module: avoid allocation if module is already present and ready
Documentation/core-api/kernel-api.rst | 22 +-
kernel/module/Kconfig | 37 +++
kernel/module/Makefile | 1 +
kernel/module/decompress.c | 4 +
kernel/module/internal.h | 74 +++++
kernel/module/main.c | 194 ++++++++----
kernel/module/stats.c | 432 ++++++++++++++++++++++++++
kernel/module/tracking.c | 7 +-
8 files changed, 703 insertions(+), 68 deletions(-)
create mode 100644 kernel/module/stats.c
--
2.39.2
next reply other threads:[~2023-04-14 5:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-14 5:08 Luis Chamberlain [this message]
2023-04-14 5:08 ` [PATCH v3 1/4] module: fix kmemleak annotations for non init ELF sections Luis Chamberlain
2023-04-14 10:18 ` Catalin Marinas
2023-04-14 5:08 ` [PATCH v3 2/4] module: extract patient module check into helper Luis Chamberlain
2023-04-14 5:08 ` [PATCH v3 3/4] module: add debug stats to help identify memory pressure Luis Chamberlain
2023-04-17 11:18 ` Petr Pavlu
2023-04-18 18:30 ` Luis Chamberlain
2023-04-18 18:37 ` [PATCH v4] " Luis Chamberlain
2023-04-14 5:08 ` [PATCH v3 4/4] module: avoid allocation if module is already present and ready Luis Chamberlain
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=20230414050836.1984746-1-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=christophe.leroy@csgroup.eu \
--cc=colin.i.king@gmail.com \
--cc=dave.hansen@linux.intel.com \
--cc=dave@stgolabs.net \
--cc=david@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=jbaron@akamai.com \
--cc=jim.cromie@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-modules@vger.kernel.org \
--cc=mhocko@suse.com \
--cc=patches@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=petr.pavlu@suse.com \
--cc=pmladek@suse.com \
--cc=prarit@redhat.com \
--cc=rafael@kernel.org \
--cc=rick.p.edgecombe@intel.com \
--cc=rppt@kernel.org \
--cc=song@kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vbabka@suse.cz \
--cc=willy@infradead.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox