Re: [patch] oom: dump stack and VM state when oom killer panics

From: Andrew Morton
Date: Mon Sep 21 2009 - 16:41:25 EST


On Fri, 18 Sep 2009 09:26:37 +0900 (JST)
KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:

> Hello
>
> > The oom killer header, including information such as the allocation order
> > and gfp mask, current's cpuset and memory controller, call trace, and VM
> > state information is currently only shown when the oom killer has
> > selected a task to kill.
> >
> > This information is omitted, however, when the oom killer panics either
> > because of panic_on_oom sysctl settings or when no killable task was
> > found. It is still relevant to know crucial pieces of information such
> > as the allocation order and VM state when diagnosing such issues,
> > especially at boot.
> >
> > This patch displays the oom killer header whenever it panics so that bug
> > reports can include pertinent information to debug the issue, if
> > possible.
> >
> > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
>
> Good patch :)
>
> I have one request. In panic case, I don't hope to call printk_ratelimit().
> the infomation should be displayed always.
>

The code shouldn't be using printk_ratelimit() - in fact nothing should
be using it and we should remove printk_ratelimit() from the kernel, I
suspect.

Because it uses global state, so a printk_ratelimit() in some random
net driver could cause printks from the oom-killer to be suppressed.

Switching to __ratelimit() would fix such interactions.
--
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/