Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Apr 2006 18:01:58 -0400
From:      Kris Kennaway <kris@obsecurity.org>
To:        Miles Nordin <carton@Ivy.NET>
Cc:        freebsd-sparc64@freebsd.org
Subject:   Re: pthread_mutex_timedlock on sparc64
Message-ID:  <20060420220158.GA30820@xor.obsecurity.org>
In-Reply-To: <oqu08nhq3w.fsf@castrovalva.Ivy.NET>
References:  <Pine.GSO.4.64.0604190835400.1870@sea.ntplx.net> <20060420074713.Y52948@hades.admin.frm2> <20060420182331.GA26174@xor.obsecurity.org> <oqk69khvsx.fsf@castrovalva.Ivy.NET> <20060420204114.GA29490@xor.obsecurity.org> <oq64l4ht5o.fsf@castrovalva.Ivy.NET> <20060420205340.GA29736@xor.obsecurity.org> <oqzmiggdw4.fsf@castrovalva.Ivy.NET> <20060420210620.GA29933@xor.obsecurity.org> <oqu08nhq3w.fsf@castrovalva.Ivy.NET>

next in thread | previous in thread | raw e-mail | index | archive | help

--CE+1k2dSO48ffgeK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 20, 2006 at 05:52:19PM -0400, Miles Nordin wrote:
> >>>>> "kk" =3D=3D Kris Kennaway <kris@obsecurity.org> writes:
>=20
>     kk> In practise libthr is the fastest thread package, although
>     kk> there must still be some reason we don't make it the default.
>=20
> thanks for the answers.  makes sense, I think I've finally got it.
>=20
> For those forced to read all my noise today that haven't already heard
> this 1:1 vs MxN thing debated to death, this is the last thing I read
> about it:
>=20
>  http://www.sun.com/software/whitepapers/solaris9/multithread.pdf
>=20
>  ``This is not to say that a good implementation of MxN model is
>    impossible, but simply that a good 1:1 implementation is probably
>    sufficient.  This paper does not attempt a discussion of the
>    relative merits of the MxN and 1:1 threading models.  The basic
>    thesis is that the quality of an implementation is often more
>    important.''
>=20
> The context is, a bunch of papers were published since 1993 showing
> that MxN threads were the most performant, and FreeBSD kse, Solaris
> threads between 2.6 and 2.8, threads in OSF/1 (I think the kse guys
> cited some Digital paper?), and NetBSD Scheduler Activations are all
> based on the design in the original paper cited at the end of kse(2).
>=20
> Sun scrapped scheduler activations in Solaris 2.9.  They had to write
> the above advertisement PDF to convince people who'd read all that
> research since '93 that the 1:1 threads really were performant, and
> that they didn't just wuss out after too many bugs and revert to a
> slow, obvious EnTee/Linux style thread subsystem.

As I said previously, the 1:1 implementation in FreeBSD is also
usually faster (often much faster) than M:N.  AFAIK, this is partly
due to the unavoidability (at least on architectures like x86) of
doing a syscall on thread context switch to save TLS state (this was
not addressed in the SA papers), which is what a scheduler
activations-like design was supposed to avoid.

Kris

--CE+1k2dSO48ffgeK
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFESATVWry0BWjoQKURArlmAKDC2KRADNAR2HVoL09DiS1k+awrtgCg+1vH
ZN0dmRTiDLs+SFp1ny98GoM=
=W6d9
-----END PGP SIGNATURE-----

--CE+1k2dSO48ffgeK--



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