On Wed, 21 Mar 2018, Warner Losh wrote:
On Wed, Mar 21, 2018 at 2:27 PM, Konstantin Belousov <kostik...@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
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"