Re: [PATCH] panic: Don't print redundant backtraces on oops

From: Michael Holzheu
Date: Mon Dec 19 2011 - 09:09:43 EST


Hello Andrew,

On Fri, 2011-12-16 at 16:52 -0800, Andrew Morton wrote:
> On Wed, 7 Dec 2011 16:36:43 -0800
> Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

[snip]

> > --- a/kernel/panic.c
> > +++ b/kernel/panic.c
> > @@ -78,7 +78,8 @@ NORET_TYPE void panic(const char * fmt, ...)
> > va_end(args);
> > printk(KERN_EMERG "Kernel panic - not syncing: %s\n",buf);
> > #ifdef CONFIG_DEBUG_BUGVERBOSE
> > - dump_stack();
> > + if (!oops_in_progress)
> > + dump_stack();
> > #endif
>
> This is kinda related to Michael's
> kdump-fix-crash_kexec-smp_send_stop-race-in-panic.patch, below.
>
> afacit Michael's patch will prevent panic-within-panic, and it does
> this by accident becasue we never thought about it. But it won't fix
> panic-within-other-oops.
>
> Is there some clever way in which we can satisfy both requirements in
> one hit?

I think the two problems are not related. My problem was that only one
CPU should execute panic. Andi's problem is that one (or more oops)
messages are scrolled away by a subsequent panic.

But I am not sure if Andi's patch solves all his problems. What e.g.
about panic_on_oom? Don't we have the same problem here?

Michael

--
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/