Re: [patch] fix emergency reboot: call reboot notifier list ifpossible

From: Andrew Morton
Date: Wed Jan 17 2007 - 05:04:28 EST


> On Wed, 17 Jan 2007 10:39:17 +0100 Ingo Molnar <mingo@xxxxxxx> wrote:
>
> * Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:
>
> > On Wed, Jan 17, 2007 at 10:13:19AM +0100, Ingo Molnar wrote:
> > > we dont call the reboot notifiers during emergency reboot mainly because
> > > it could be called from atomic context and reboot notifiers are a
> > > blocking notifier list. But actually the kernel is often perfectly
> > > reschedulable in this stage, so we could as well process the
> > > reboot_notifier_list.
> >
> > My experience has been that when there has been the need to use this
> > facility, the kernel hasn't been reschedulable. [...]
>
> this decision is totally automatic - so if your situation happens and
> the kernel isnt reschedulable, then the notifier chain wont be called
> and nothing changes from your perspective. Hm, perhaps this should be
> dependent on CONFIG_PREEMPT, to make sure preempt_count() is reliable?
>
> but from my perspective this patch fixes a real regression.
>
> updated patch attached below.
>

Making it dependent upon CONFIG_PREEMPT seems a bit sucky. Perhaps pass in
some "you were called from /proc/sysrq-trigger" notification?

Also, there are ways of telling if the kernel has oopsed (oops counter,
oops_in_progress, etc) which should perhaps be tested.

Or just learn to type `reboot -fn' ;)

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