Re: [PATCH 1/2 v2] watchdog, nmi: Allow hardlockup to panic bydefault

From: Andrew Morton
Date: Fri Mar 18 2011 - 14:24:20 EST


On Fri, 18 Mar 2011 13:19:32 -0400
Don Zickus <dzickus@xxxxxxxxxx> wrote:

> On Thu, Mar 17, 2011 at 06:50:13PM -0700, Andrew Morton wrote:
> > On Mon, 7 Mar 2011 16:37:39 -0500 Don Zickus <dzickus@xxxxxxxxxx> wrote:
> >
> > > Add a Kconfig option to allow users to set the hardlockup to panic
> > > by default. Also add in a 'nmi_watchdog=nopanic' to override this.
> > >
> >
> > Changelog forgot to tell us "why".
>
> Yeah, sorry about that.
>
> When a cpu is considered stuck, instead of limping along and just printing
> a warning, it is sometimes preferred to just panic, let kdump capture the
> vmcore and reboot. This gets the machine back into a stable state quickly
> while saving the info that got it into a stuck state to begin with.

Ah, makes sense, thanks. I updated the changelog.

>
> >
> > > Format: [state][,regs][,debounce][,die]
> > >
> > > nmi_watchdog= [KNL,BUGS=X86] Debugging features for SMP kernels
> > > - Format: [panic,][num]
> > > + Format: [panic,][nopanic,][num]
> >
> > It would be better to support panic=[0|1], if that can be simply done
> > in a back-compatible fashion.
>
> I am open to the idea, just can't figure the best way to implement that in
> a backwards compatible way.

It's not worth busting a gut over ;)

> Personally I was wondering if there were situations where you would _not_
> want it to panic. If the cpu is stuck spinning after 60 seconds, the odds
> of it freeing itself is low and you are probably stuck rebooting anyway.
>
>
> >
> > > static int __init hardlockup_panic_setup(char *str)
> > > {
> > > if (!strncmp(str, "panic", 5))
> > > hardlockup_panic = 1;
> > > + else if (!strncmp(str, "nopanic", 5))
> >
> > s/5/7/
>
> doh.
>
> I can send a refreshed patch with the above changes.

I fixed that up.
--
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/