Skip site navigation (1)Skip section navigation (2)
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>