Question about cv_signal(9) (never mind)

John Baldwin jhb at FreeBSD.org
Mon Jun 14 18:44:25 GMT 2004


On Saturday 12 June 2004 08:12 pm, John Polstra wrote:
> On 12-Jun-2004 John Polstra wrote:
> > [Why does a caller to cv_signal(9) have to hold the associated mutex?]
>
> Never mind.  I understand now.  It allows the implementation to
> avoid doing any locking internally.  That seems perfectly
> reasonable, and I withdraw my question.

To be honest, it's also largely there to try to keep people from writing code 
that can lose wakeups.  The count optimization came later.  If the 
optimization of dropping the lock is more important and we think that people 
really won't make the mistake of not using locks when they should to avoid 
the lost wakeups then we could drop the count optimization and allow 
cv_signal() to not require the lock perhaps.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-smp mailing list