mbox series

[0/9] slub_debug fixes and improvements

Message ID 20200610163135.17364-1-vbabka@suse.cz (mailing list archive)
Headers show
Series slub_debug fixes and improvements | expand

Message

Vlastimil Babka June 10, 2020, 4:31 p.m. UTC
Hi,

this series puts together the recent series "replace runtime slub_debug
toggling with more capable boot parameter" [4] (no longer RFC, thanks for
reviews), with older RFC [5] to introduce a static key for slub_debug. It's
because the removal of runtime toggling makes the static key addition simpler.
The last patch improves cache_from_obj() based on recent debugging effort [6].

We had recently reports [1,2] of troubles with runtime writes to various SLUB
per-cache sysfs files related to slub_debug or tuning leading to crashes. I have
inspected all those writable files and the rather unfortunate result is that
most of them are made read-only by this patchset, as fixing the issues doesn't
seem viable. Details for each are given in each patch (2-5)

The runtime toggles were however necessary for the use case described in [3],
so the first patch extends the slub_debug boot parameter syntax to achieve the
same configuration without runtime toggles. That should hopefully make the
changes more feasible.

Patches 6-9 reduce slub_debug overhead in cases where it's compiled in but not
enabled during boot, with a static key. Patch 9 also improves bug reporting
in cache_from_obj().

[1] https://lkml.kernel.org/r/1580379523-32272-1-git-send-email-vjitta@codeaurora.org
[2] https://lore.kernel.org/r/CAG48ez31PP--h6_FzVyfJ4H86QYczAFPdxtJHUEEan+7VJETAQ@mail.gmail.com
[3] https://lore.kernel.org/r/1383cd32-1ddc-4dac-b5f8-9c42282fa81c@codeaurora.org
[4] https://lore.kernel.org/r/20200602141519.7099-1-vbabka@suse.cz
[5] https://lore.kernel.org/r/20190404091531.9815-1-vbabka@suse.cz
[6] https://lore.kernel.org/r/4dc93ff8-f86e-f4c9-ebeb-6d3153a78d03@oracle.com

Vlastimil Babka (9):
  mm, slub: extend slub_debug syntax for multiple blocks
  mm, slub: make some slub_debug related attributes read-only
  mm, slub: remove runtime allocation order changes
  mm, slub: make remaining slub_debug related attributes read-only
  mm, slub: make reclaim_account attribute read-only
  mm, slub: introduce static key for slub_debug()
  mm, slub: introduce kmem_cache_debug_flags()
  mm, slub: extend checks guarded by slub_debug static key
  mm, slab/slub: move and improve cache_from_obj()

 .../admin-guide/kernel-parameters.txt         |   2 +-
 Documentation/vm/slub.rst                     |  37 +-
 mm/slab.c                                     |   8 +
 mm/slab.h                                     |  23 --
 mm/slub.c                                     | 374 +++++++++---------
 5 files changed, 222 insertions(+), 222 deletions(-)