Message ID | 20201028153141.GB77196@rlk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] mm/oom_kill: remove comment and rename is_dump_unreclaim_slabs() | expand |
On Wed, 28 Oct 2020 23:31:41 +0800 Hui Su <sh_def@163.com> wrote: > Comment for is_dump_unreclaim_slabs is not really clear whether it is > meant to instruct how to use the function or whether it is an outdated > information of the past implementation of the function. it doesn't realy > help that is_dump_unreclaim_slabs is hard to grasp on its own. > > Rename the helper to should_dump_unreclaim_slabs which should make it > clear what it is meant to do and drop the comment as the purpose > should be pretty evident now. > I think your recent attempt to improve the comment: /* * Check whether unreclaimable slabs amount is greater than all user * memory(LRU pages). */ was actually somewhat useful, and worth retaining. It would be better if it explained *why* we're doing this, rather than simply "what we are doing"? <looks at the code> It's actually quite unobvious why we're doing this!
On Wed 28-10-20 14:53:30, Andrew Morton wrote: > On Wed, 28 Oct 2020 23:31:41 +0800 Hui Su <sh_def@163.com> wrote: > > > Comment for is_dump_unreclaim_slabs is not really clear whether it is > > meant to instruct how to use the function or whether it is an outdated > > information of the past implementation of the function. it doesn't realy > > help that is_dump_unreclaim_slabs is hard to grasp on its own. > > > > Rename the helper to should_dump_unreclaim_slabs which should make it > > clear what it is meant to do and drop the comment as the purpose > > should be pretty evident now. > > > > I think your recent attempt to improve the comment: > > /* > * Check whether unreclaimable slabs amount is greater than all user > * memory(LRU pages). > */ > > was actually somewhat useful, and worth retaining. > > It would be better if it explained *why* we're doing this, rather than > simply "what we are doing"? > > <looks at the code> > > It's actually quite unobvious why we're doing this! It's quite arbitrary criterion to print slab information in the oom report. The current logic is to dump if there is more slabs than LRU pages which should be pretty obvious from the code. Why this rather than e.g. slab * k > lru? Well, no strong reason, AFAIK. We just want to catch too much slab memory cases.
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 8b84661a6410..d181e24d7193 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -170,11 +170,7 @@ static bool oom_unkillable_task(struct task_struct *p) return false; } -/* - * Print out unreclaimble slabs info when unreclaimable slabs amount is greater - * than all user memory (LRU pages) - */ -static bool is_dump_unreclaim_slabs(void) +static bool should_dump_unreclaim_slabs(void) { unsigned long nr_lru; @@ -463,7 +459,7 @@ static void dump_header(struct oom_control *oc, struct task_struct *p) mem_cgroup_print_oom_meminfo(oc->memcg); else { show_mem(SHOW_MEM_FILTER_NODES, oc->nodemask); - if (is_dump_unreclaim_slabs()) + if (should_dump_unreclaim_slabs()) dump_unreclaimable_slab(); } if (sysctl_oom_dump_tasks)