svn commit: r286880 - head/sys/kern

Konstantin Belousov kostikbel at gmail.com
Thu Aug 27 10:49:52 UTC 2015


On Wed, Aug 26, 2015 at 08:14:15PM +0200, Julien Charbon wrote:
>  As I said, I am not opposed to back out this change, callout(9) API in
> mpsafe mode is a already complex/subtle API, it won't change too much
> the current complexity.
> 
>  Let say that if nobody screams until Friday 8/28, I will put back
> r284245 and revert this change _and_ I will make this case clear in the
> man page.

[Replying to a random message in the whole set of conversations]

There is one more case, besides TCP timers, which is equially, of not
more, critical and sensitive WRT to the callout_stop().  Look at the
sys/kern/subr_sleepqueue.c:sleepq_check_timeout().  Stray return of
the false result from callout_stop() causes creation of the non-killable
processes:  the callout fired, we missed the wakeup and went to sleep
by manually doing the context switch.  Such thread cannot be woken up.

I suspect that your fix is a better approach than my attempt to look
at something similar at PR 200992 (may be not).


More information about the svn-src-all mailing list