svn commit: r303426 - in head/sys: ddb kern sys
Hans Petter Selasky
hps at selasky.org
Wed Aug 10 15:55:42 UTC 2016
On 07/28/16 11:09, Konstantin Belousov wrote:
> Author: kib
> Date: Thu Jul 28 09:09:55 2016
> New Revision: 303426
> URL: https://svnweb.freebsd.org/changeset/base/303426
>
> Log:
> Rewrite subr_sleepqueue.c use of callouts to not depend on the
> specifics of callout KPI. Esp., do not depend on the exact interface
> of callout_stop(9) return values.
>
> The main change is that instead of requiring precise callouts, code
> maintains absolute time to wake up. Callouts now should ensure that a
> wake occurs at the requested moment, but we can tolerate both run-away
> callout, and callout_stop(9) lying about running callout either way.
>
> As consequence, it removes the constant source of the bugs where
> sleepq_check_timeout() causes uninterruptible thread state where the
> thread is detached from CPU, see e.g. r234952 and r296320.
>
> Patch also removes dual meaning of the TDF_TIMEOUT flag, making code
> (IMO much) simpler to reason about.
>
> Tested by: pho
> Reviewed by: jhb
> Sponsored by: The FreeBSD Foundation
> MFC after: 1 month
> Differential revision: https://reviews.freebsd.org/D7137
>
> Modified:
> head/sys/ddb/db_ps.c
> head/sys/kern/kern_thread.c
> head/sys/kern/subr_sleepqueue.c
> head/sys/sys/proc.h
>
Hi,
I think that:
#define SWT_SLEEPQTIMO 5 /* Sleepq timeout wait. */
in sys/proc.h can also be marked "available" after this change.
--HPS
More information about the svn-src-head
mailing list