[M3devel] targeting kernel instead of libc/pthreads?

Dragiša Durić dragisha at m3w.org
Tue Aug 11 16:57:59 CEST 2009


There is exactly one pthreads implementation in use, NPTL.

That is really thin layer providing pthreads API.

I don't think we can afford anything by reimplementing there, but we can
loose pthreads abstraction.

I'we not read Anthony's implementation for some time, but I remember he
had some state tracking structures resembling earlier behaviour of
user-space Modula-3 threads. These are not needed,really, except for
some obscure tools and for at-all-prices compatibility. I don't know if
it's still there, but if it is, it imposes some non-O(1)-ness, at least
in Linux case where we have it.

On Tue, 2009-08-11 at 14:22 +0000, Jay K wrote:
> I'm aware of that. But I don't think it matches pthreads closely, but
> provides sufficient primitives. It is clone and futex.
> I expect the kernel interfaces to be stable and there are multiple,
> binary incompatible?, pthreads implementations.
> 
>  - Jay
> 
> 
> > Subject: Re: [M3devel] targeting kernel instead of libc/pthreads?
> > From: dragisha at m3w.org
> > To: jay.krell at cornell.edu
> > CC: hosking at cs.purdue.edu; m3devel at elegosoft.com
> > Date: Tue, 11 Aug 2009 16:14:10 +0200
> > 
> > Your data is pretty rusty here :)
> > 
> > pthreads as library is of course "usermode layer over something".
> That
> > something being O(1) kernel space thread implementation.
> > 
> > On Tue, 2009-08-11 at 05:37 +0000, Jay K wrote:
> > > 
> > > In particular on Linux pthreads are usermode layer over something
> > > else.
> > -- 
> > Dragiša Durić <dragisha at m3w.org>
> > 
-- 
Dragiša Durić <dragisha at m3w.org>




More information about the M3devel mailing list