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

From: Ingo Molnar
Date: Wed Nov 10 2010 - 13:07:38 EST



* 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.

Thanks,

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