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

From: Randy Dunlap
Date: Wed Jan 24 2007 - 11:35:31 EST


On Tue, 23 Jan 2007 19:57:12 +0000 Pavel Machek wrote:

> Hi!
>
> > > > 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?
>
> What about adding 'B' with 'reboot with notifications' meaning?

if I am reading 'B' vs. 'b' correctly:

sysrq key codes are currently all lower case only.
Of course, that could be changed to support upper case.
That would require sysrq help messages in a different format
(currently the keycode for the action is Capitalized, e.g.,
b => reBoot). And I suspect that it would allow some users to
enter b vs. B or B vs. b etc. unintentionally.
In any case, the sysrq_key_table could easily fill up soon,
so we may be force to support UpperCase codes.

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