Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Mar 2004 21:30:29 -0500
From:      "Brian F. Feldman" <green@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        arch@FreeBSD.org
Subject:   Re: Is MTX_CONTESTED evil? 
Message-ID:  <200403260230.i2Q2UTNZ097932@green.homeunix.org>
In-Reply-To: Message from John Baldwin <jhb@FreeBSD.org>  of "Tue, 23 Mar 2004 17:24:45 EST." <200403231724.45923.jhb@FreeBSD.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin <jhb@FreeBSD.org> wrote:
> On Tuesday 23 March 2004 03:06 pm, Dag-Erling Sm=C3=B8rgrav wrote:
> > des@des.no (Dag-Erling Sm=C3=B8rgrav) writes:
> > > John Baldwin <john@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 *suppose=
d*
> > > to cause frequent panics.
> >
> > s/panic/freeze/
> =

> They worked just fine on sparc64, alpha, and i386 when they were develo=
ped and =

> nothing has changed since then.  However, since they increase the chanc=
es 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 o=
ther =

> broken code, just as compile failures aren't the result of the tinderbo=
x =

> 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 ma=
ke =

ADAPTIVE_MUTEX default to catch more bugs.

-- =

Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''=
''\
  <> green@FreeBSD.org                               \  The Power to Serv=
e! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,=
,,,,\




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403260230.i2Q2UTNZ097932>