Re: [PATCH] oom_kill: add option to disable dump_stack()

From: Michal Hocko
Date: Tue Oct 27 2015 - 12:20:54 EST


On Tue 27-10-15 11:43:42, Aristeu Rozanski wrote:
> Hi Michal,
> On Tue, Oct 27, 2015 at 09:09:21AM +0100, Michal Hocko wrote:
> > On Mon 26-10-15 13:40:49, Aristeu Rozanski wrote:
> > > Hi Michal,
> > > On Mon, Oct 26, 2015 at 06:20:12PM +0100, Michal Hocko wrote:
> > [...]
> > > > Would it make more sense to distinguish different parts of the OOM
> > > > report by loglevel properly?
> > > > pr_err - killed task report
> > > > pr_warning - oom invocation + memory info
> > > > pr_notice - task list
> > > > pr_info - stack trace
> > >
> > > That'd work, yes, but I'd think the stack trace would be pr_debug. At a
> > > point that you suspect the OOM killer isn't doing the right thing picking
> > > up tasks and you need more information.
> >
> > Stack trace should be independent on the oom victim selection because
> > the selection should be as much deterministic as possible - so it should
> > only depend on the memory consumption. I do agree that the exact trace
> > is not very useful for the (maybe) majority of OOM reports. I am trying
> > to remember when it was really useful the last time and have trouble to
> > find an example. So I would tend to agree that pr_debug would me more
> > suitable.
>
> Only problem I see so far with this approach is that it'll require
> reworing show_stack() on all architectures in order to be able to pass
> and use log level and I'm wondering if it's something people will find
> useful for other uses.

Yes this is a mess. But I think it is worth cleaning up.
dump_stack_print_info (arch independent) has a log level parameter.
show_stack_log_lvl (x86) has a loglevel parameter which is unused.

I haven't checked other architectures but the transition doesn't have to
be all at once I guess.
--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/