Is MTX_CONTESTED evil?
Brian F. Feldman
green at FreeBSD.org
Thu Mar 25 18:30:32 PST 2004
John Baldwin <jhb at FreeBSD.org> wrote:
> 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. :-)
Well, that certainly explains the blitz of crashes I had to fix recently!
Since INVARIANTS and WITNESS are on by default, it would make sense to make
ADAPTIVE_MUTEX default to catch more bugs.
--
Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\
<> green at FreeBSD.org \ The Power to Serve! \
Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\
More information about the freebsd-arch
mailing list