Date: Thu, 7 Aug 2008 21:00:13 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/share/man/man9 condvar.9 sleep.9 src/sys/kern kern_condvar.c kern_synch.c Message-ID: <200808072102.m77L2PSF021733@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2008-08-07 21:00:13 UTC
FreeBSD src repository
Modified files:
share/man/man9 condvar.9 sleep.9
sys/kern kern_condvar.c kern_synch.c
Log:
SVN rev 181394 on 2008-08-07 21:00:13Z by jhb
Permit Giant to be passed as the explicit interlock either to
msleep/mtx_sleep or the various cv_*wait*() routines. Currently, the
"unlock" behavior of PDROP and cv_wait_unlock() with Giant is not
permitted as it is will be confusing since Giant is fully unrecursed and
unlocked during a thread sleep.
This is handy for subsystems which wish to allow unlocked drivers to
continue to use Giant such as CAM, the new TTY layer, and the new USB
stack. CAM currently uses a hack that I told Scott to use because I
really didn't want to permit this behavior, and the TTY and USB patches
both have various patches to permit this.
MFC after: 2 weeks
Revision Changes Path
1.22 +18 -0 src/share/man/man9/condvar.9
1.63 +6 -0 src/share/man/man9/sleep.9
1.65 +50 -28 src/sys/kern/kern_condvar.c
1.313 +6 -2 src/sys/kern/kern_synch.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808072102.m77L2PSF021733>
