Messages in this thread | | | Date | Thu, 20 Oct 2011 13:48:26 -0400 | From | Don Zickus <> | Subject | Re: [RFC][PATCH -next] make pstore/kmsg_dump run after stopping other cpus in panic path |
| |
On Thu, Oct 20, 2011 at 11:13:26AM -0400, Seiji Aguchi wrote: > Don, > > >That is part of the wider problem with kmsg_dump that Vivek talks about > >with me, is that it is just a giant hook in the panic path with limited > >auditing. So we need to explicit set our expectations with BUG_ONs/WARNs > >otherwise we might get bit later by them. > > I found an issue while developing a patch v2. > > We can't call BUG_ON(in_nmi() && reason != KMSG_DUMP_PANIC) > because kmsg_dump(KMSG_DUMP_EMERG) is called in NMI context if "panic" kernel parameter is set.
I am confused. Did you mean 'panic' kernel parameter is _not_ set?
Actually, BUG_ON is probably overkill, perhaps a WARN_ON would be more appropriate.
> > I will keep doing research bust_spinlock() or vprintk() so that lockdep checking works and we can avoid any deadlocks.
I wonder if it would be smarter to split your patch in half. The part where you move kmsg_dump to below stop_cpus is probably non-controversial. That might make it sooner than the more controversial bust_spinlock pieces.
Cheers, Don
| |