mbox series

[v2,0/6] SLUB debugfs improvements based on stackdepot

Message ID 20220302173122.11939-1-vbabka@suse.cz (mailing list archive)
Headers show
Series SLUB debugfs improvements based on stackdepot | expand

Message

Vlastimil Babka March 2, 2022, 5:31 p.m. UTC
Changes since v1:
https://lore.kernel.org/all/20220225180318.20594-1-vbabka@suse.cz/

- 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@gmail.com/
[2] https://lore.kernel.org/all/20210521121127.24653-1-glittao@gmail.com/

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(-)