Date: Wed, 10 Aug 2016 17:59:33 +0200 From: Hans Petter Selasky <hps@selasky.org> To: Konstantin Belousov <kib@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r303426 - in head/sys: ddb kern sys Message-ID: <73c3a522-b83e-46b2-6bc7-1987f8ebb449@selasky.org> In-Reply-To: <201607280909.u6S99t01066655@repo.freebsd.org> References: <201607280909.u6S99t01066655@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?73c3a522-b83e-46b2-6bc7-1987f8ebb449>