[RFC] oom: capture unreclaimable slab info in oom message when kernel panic

From: Yang Shi
Date: Thu Sep 14 2017 - 13:16:01 EST



Recently we ran into a oom issue, kernel panic due to no killable process.
The dmesg shows huge unreclaimable slabs used almost 100% memory, but kdump
doesn't capture vmcore due to some reason.

So, it may sound better to capture unreclaimable slab info in oom message when
kernel panic to aid trouble shooting and cover the corner case.
Since kernel already panic, so capturing more information sounds worthy and
doesn't bother normal oom killer.

With the patchset, /proc/slabinfo can print an extra column for reclaimable
flag and tools/vm/slabinfo has a new option, "-U", to show unreclaimable
slab only.

And, oom will print all non zero (num_objs * size != 0) unreclaimable slabs in
oom killer message.

For details, please see the commit log for each commit.

Yang Shi (3):
mm: slab: output reclaimable flag in /proc/slabinfo
tools: slabinfo: add "-U" option to show unreclaimable slabs only
mm: oom: show unreclaimable slab info when kernel panic

mm/oom_kill.c | 13 +++++++++++--
mm/slab.c | 1 +
mm/slab.h | 7 +++++++
mm/slab_common.c | 27 +++++++++++++++++++++++++++
mm/slub.c | 1 +
tools/vm/slabinfo.c | 11 ++++++++++-
6 files changed, 57 insertions(+), 3 deletions(-)