Messages in this thread | | | Subject | Re: [PATCH] panic: Don't print redundant backtraces on oops | From | Michael Holzheu <> | Date | Mon, 19 Dec 2011 15:09:15 +0100 |
| |
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@firstfloor.org> 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
| |