svn commit: r331298 - head/sys/dev/syscons

Bruce Evans brde at optusnet.com.au
Thu Mar 22 07:08:00 UTC 2018


On Wed, 21 Mar 2018, Warner Losh wrote:

> On Wed, Mar 21, 2018 at 2:27 PM, Konstantin Belousov <kostikbel at gmail.com>
> wrote:
>> ...
>> Are you saying that fast interrupt handlers call shutdown_nice() ?  This
>> is the quite serious bug on its own.  To fix it, shutdown_nice() should
>> use a fast taskqueue to schedule the task which would lock the process
>> and send the signal.
>
> Is there some way we know we're in a fast interrupt handler? If so, it
> should be simple to fix. If not, then there's an API change ahead of us...

There is a td_intr_nesting_level flag that might work.  (I invented this,
but don't like its current use.)

> But bde is right: the system has to be in good enough shape to cope. I
> wonder if we should put that coping into kdb_reboot() instead. It's only an
> issue for <CR> TILDE ^R, which is a fairly edge case.

shutdown_nice() is also called directly from syscons and vt for the reboot,
halt and poweroff keys.  This happens in normal interrupt handler context,
so there is only a problem when init is not running.

Bruce


More information about the svn-src-head mailing list