Date: Tue, 3 Jul 2001 17:50:38 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: Jake Burkholder <jake@FreeBSD.org> Cc: <cvs-committers@FreeBSD.org>, <cvs-all@FreeBSD.org> Subject: Re: cvs commit: src/sys/sys systm.h condvar.h src/sys/kern kern_synch.c kern_condvar.c Message-ID: <20010703174807.R29024-100000@wonky.feral.com> In-Reply-To: <200107040032.f640Wpi26754@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 3 Jul 2001, Jake Burkholder wrote: > jake 2001/07/03 17:32:51 PDT > > Modified files: > sys/sys systm.h condvar.h > sys/kern kern_synch.c kern_condvar.c > Log: > Implement mwakeup, mwakeup_one, cv_signal_drop and cv_broadcast_drop. > These take an additional mutex argument, which is dropped before any > processes are made runnable. This can avoid contention on the mutex > if the processes would immediately acquire it, and is done in such a > way that wakeups will not be lost. I'm a bit confused by this last statement. Wakeups should never be lost not matter what. I can see that it's possible you could get contention if the cv_signal or wakeup causes a reschedule on another CPU right away. Is there any empirical measurements showing this happening? Don't get me wrong- seems to be a useful variance, but we're starting to look a bit like NT/Win32 here. -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010703174807.R29024-100000>