Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Apr 2005 15:02:15 -0700
From:      David Leimbach <dleimbac@gmail.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: libthread 1:1 threads
Message-ID:  <5bbfe7d4050422150226c6712d@mail.gmail.com>
In-Reply-To: <426953C5.9080502@elischer.org>
References:  <5bbfe7d40504220842578b2d2d@mail.gmail.com> <426953C5.9080502@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 4/22/05, Julian Elischer <julian@elischer.org> wrote:
>=20
>=20
> David Leimbach wrote:
>=20
> >Perhaps David Xu could clue me in a bit more :)
> >
> >I just got around to reading the status report for FreeBSD and the 1:1
> >threading caught my eye.
> >
> >I'm not terribly familiar with FreeBSD's KSE based threading but
> >rather than adding a new system call [which may be ok... though I've
> >worked on systems where a minimal set of system calls is the desired
> >approach.. usually microkernels] would it be possible to add KSEs to a
> >task using rfork()?
> >
> >
>=20
> KSE and 1:1 threading are different things.
> One creatres kernel threads on demand and the other keeps the kernel
> threads all the time the user thread exists.
>=20

Ah interesting.

> rfork is not the same.. it creates a new process context. that is what
> Linux does.
> it is also what we did before when running the the linuxthreads package.
>=20

According to the man page, and plan 9 where rfork originated you can
use it to modify an extant process.  In fact you have to set the
RFPROC flag to make a new process or all the changes apply to the
current one.

Either that or the man page is wrong.

> KSE and 1:1 use a lot of the same kernel changes and entities.
> Which one survives will be  judged in time.
>=20
> >Maybe I've just been playing around with Plan 9 too much lately :)
> >
> >Anyway, I like that there will be a 1:1 threading library and if I had
> >more free time and wasn't working on other projects I'd be more than
> >willing to help test and work on/with this.
> >
> >
>=20
> there has been a 1:1 and an M:N library since 5.2
>=20

Yeah but I took a bit of a FreeBSD hiatus around 5.0/5.1 and am just
now poking around again so it's all new to me :).

Dave



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