Subject: Re: native pthread support in 1.5
To: Daniel S. Riley <dsr@mail.lns.cornell.edu>
From: Jason R Thorpe <thorpej@zembu.com>
List: netbsd-users
Date: 08/29/2000 06:58:00
On Tue, Aug 29, 2000 at 08:50:50AM -0400, Daniel S. Riley wrote:
> I dunno...reasonably knowledgeable people say the Solaris 2-level
> scheduler implementation has some serious warts--in particular, no
> preemption at the user level, and the rather ugly workaround,
> thr_setconcurrency(). See, for example
Well... we won't be using the Solaris thr_* API at all... but userlevel
preemption is something we plan to have. We're not going to use a
"one kernel-scheduled thread per user-level thread" model (this is, BTW,
what Linux uses, and each thread also has a *different* PID) -- it's
well-understood that this model doesn't scale well.
The NetBSD model is going to be more like newer (e.g. Solaris 8)
implementations -- LWPs to provide the kernel with a scheduling
handle for user threads that block in the kernel (eliminates the
big mess of emulation blocking I/O with non-blocking I/O in userspace),
and downcalls from the kernel to let the user-level scheduler know
about important scheduling events.
--
-- Jason R. Thorpe <thorpej@zembu.com>