Is MTX_CONTESTED evil?

John Baldwin jhb at FreeBSD.org
Wed Mar 24 07:41:05 PST 2004


On Tuesday 23 March 2004 03:06 pm, Dag-Erling Smørgrav wrote:
> des at des.no (Dag-Erling Smørgrav) writes:
> > John Baldwin <john at baldwin.cx> writes:
> > > Adaptive mutexes work just fine, but they aren't on by default.
> >
> > No, they don't "work just fine", unless of course they are *supposed*
> > to cause frequent panics.
>
> s/panic/freeze/

They worked just fine on sparc64, alpha, and i386 when they were developed and 
nothing has changed since then.  However, since they increase the chances of 
"near concurrency" on multiple CPUs (i.e. one CPU grabbing a lock right after 
another released it) they expose races and thus bugs in code that uses 
mutexes improperly.  The fault is not in adaptive mutexes, but in the other 
broken code, just as compile failures aren't the result of the tinderbox 
itself being broken. :-)

-- 
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-arch mailing list