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>