Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Apr 2003 12:55:12 -0800
From:      Peter Wemm <peter@wemm.org>
To:        "Geoffrey C. Speicher" <geoff@speicher.org>
Cc:        freebsd-threads@FreeBSD.ORG
Subject:   Re: 1:N threading 
Message-ID:  <20030403205512.99A882A8A5@canning.wemm.org>
In-Reply-To: <Pine.BSF.4.05.10304031503370.2892-100000@speicher.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
"Geoffrey C. Speicher" wrote:
> OK, so we've got 1:N threading (libc_r), 1:1 threading (thr), and M:N
> threading (KSE).  Each model has its own merit depending on the
> application.
> 
> However, it would still be nice if the 1:N model didn't block the whole
> process when a thread blocks.  Is there any reason to hold onto a pure
> userland implementation of 1:N?  Can libc_r be implemented in terms of
> KSE?

It probably could be extended to recover context when it blocks, but by the
time you go that far you may as well just remove the select() wrappers and
use the context recovery in the default case.  And then you're most of the
way to libkse anyway, the main remaining difference would be to allow more
than one execution point at a time.

FWIW, libkse has got large chunks of libc_r in it.  So has libthr.

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



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