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>