Re: [PATCH v3] watchdog: touch_nmi_watchdog should only touch localcpu not every one

From: Don Zickus
Date: Wed Nov 10 2010 - 14:04:56 EST


On Wed, Nov 10, 2010 at 07:07:11PM +0100, Ingo Molnar wrote:
>
> * Don Zickus <dzickus@xxxxxxxxxx> wrote:
>
> > > Hm, the flip side is that if a CPU is stuck spewing backtraces, we will now make
> > > all the other CPUs a lot more noisy - which might only 'lock up' because this
> > > CPU is stuck spewing oopses, right?
> >
> > When you say the other CPUs will be a lot more noisy, is that because they are
> > busy processing backtraces for the first cpu to spew? I guess I don't understand
> > how the other CPUs could have their interrupts off the whole time while the first
> > cpu is spewing a backtrace (just trying to educate myself).
>
> Say the kernel crashes on a CPU and keeps spewing new oopses, while write-holding
> tasklist_lock.
>
> Any other CPU that delivers a signal from IRQ context, trying to take the
> tasklist_lock, will loop indefinitely until that crashing CPU releases the lock.
>
> In that case the 'secondary' NMI warnings from all other CPUs (eventually every CPU
> gets stuck in such a scenario) will start spewing NMI lockup messages.
>
> Dunno. Maybe we should do your change - but also have an option to 'shut up' the
> kernel after the first hard oops [not warning]. That would silence the secondary NMI
> watchdog messages as well.

You mean inside the panic() routine? like a ratelimit?

Cheers,
Don
--
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/