lkml.org 
[lkml]   [2017]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 0/3 v8] oom: capture unreclaimable slab info in oom message
From
Date
This round should be v9. Sorry for the typo.

Yang


On 10/3/17 11:06 AM, Yang Shi wrote:
>
> 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, 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.
>
> Changelog v8 —> 9:
> * Adopted Tetsuo’s suggestion to protect global slab list traverse with mutex_trylock() to prevent from sleeping. Without the mutex acquired unreclaimable slbas will not be dumped.
> * Adopted the suggestion from Christoph to dump CONFIG_SLABINFO since it is pointless to keep it.
> * Rebased to 4.13-rc3
>
> Changelog v7 —> v8:
> * Adopted Michal’s suggestion to dump unreclaim slab info when unreclaimable slabs amount > total user memory. Not only in oom panic path.
>
> Changelog v6 -> v7:
> * Added unreclaim_slabs_oom_ratio proc knob, unreclaimable slabs info will be dumped when unreclaimable slabs amount : all user memory > the ratio
>
> Changelog v5 —> v6:
> * Fixed a checkpatch.pl warning for patch #2
>
> Changelog v4 —> v5:
> * Solved the comments from David
> * Build test SLABINFO = n
>
> Changelog v3 —> v4:
> * Solved the comments from David
> * Added David’s Acked-by in patch 1
>
> Changelog v2 —> v3:
> * Show used size and total size of each kmem cache per David’s comment
>
> Changelog v1 —> v2:
> * Removed the original patch 1 (“mm: slab: output reclaimable flag in /proc/slabinfo”) since Christoph suggested it might break the compatibility and /proc/slabinfo is legacy
> * Added Christoph’s Acked-by
> * Removed acquiring slab_mutex per Tetsuo’s comment
>
>
> Yang Shi (3):
> tools: slabinfo: add "-U" option to show unreclaimable slabs only
> mm: slabinfo: dump CONFIG_SLABINFO
> mm: oom: show unreclaimable slab info when unreclaimable slabs > user memory
>
> init/Kconfig | 6 ------
> mm/memcontrol.c | 2 --
> mm/oom_kill.c | 22 ++++++++++++++++++++++
> mm/slab.c | 2 --
> mm/slab.h | 2 ++
> mm/slab_common.c | 35 ++++++++++++++++++++++++++++++++---
> mm/slub.c | 2 --
> tools/vm/slabinfo.c | 11 ++++++++++-
> 8 files changed, 66 insertions(+), 16 deletions(-)
>

\
 
 \ /
  Last update: 2017-10-03 20:11    [W:0.083 / U:0.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site