[PATCH v2 0/6] SLUB debugfs improvements based on stackdepot
From: Vlastimil Babka
Date: Wed Mar 02 2022 - 12:32:30 EST
Changes since v1:
https://lore.kernel.org/all/20220225180318.20594-1-vbabka@xxxxxxx/
- New Patch 1 to resolve bootstrap issues between stack depot and early
cache creation reported by Hyeonggon Yoo
- Patch 3 use GFP_NOWAIT always in set_track to avoid sleeping in
invalid context, reported by Hyeonggon Yoo
- Addressed minor feedback and added review/tests by Hyeonggon Yoo.
Hi,
this series combines and revives patches from Oliver's last year
bachelor thesis (where I was the advisor) that make SLUB's debugfs
files alloc_traces and free_traces more useful.
The resubmission was blocked on stackdepot changes that are now merged,
as explained in patch 3.
Patch 1 makes it possible to use stack depot without bootstrap issues.
Patch 2 is a new preparatory cleanup.
Patch 3 originally submitted here [1], was merged to mainline but
reverted for stackdepot related issues as explained in the patch.
Patches 4-6 originally submitted as RFC here [2]. In this submission I
have omitted the new file 'all_objects' (patch 3/3 in [2]) as it might
be considered too intrusive so I will postpone it for later. The docs
patch is adjusted accordingly.
Also available in git, based on v5.17-rc1:
https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/linux.git/log/?h=slub-stackdepot-v2
I'd like to ask for some more review/testing before I add this to the
slab tree.
[1] https://lore.kernel.org/all/20210414163434.4376-1-glittao@xxxxxxxxx/
[2] https://lore.kernel.org/all/20210521121127.24653-1-glittao@xxxxxxxxx/
Oliver Glitta (4):
mm/slub: use stackdepot to save stack trace in objects
mm/slub: distinguish and print stack traces in debugfs files
mm/slub: sort debugfs output by frequency of stack traces
slab, documentation: add description of debugfs files for SLUB caches
Vlastimil Babka (2):
lib/stackdepot: allow requesting early initialization dynamically
mm/slub: move struct track init out of set_track()
Documentation/vm/slub.rst | 64 ++++++++++++++++++
include/linux/stackdepot.h | 16 ++++-
init/Kconfig | 1 +
lib/stackdepot.c | 2 +
mm/page_owner.c | 9 ++-
mm/slab_common.c | 5 ++
mm/slub.c | 135 +++++++++++++++++++++++++------------
7 files changed, 183 insertions(+), 49 deletions(-)
--
2.35.1