libthread 1:1 threads
David Leimbach
dleimbac at gmail.com
Fri Apr 22 15:02:16 PDT 2005
On 4/22/05, Julian Elischer <julian at elischer.org> wrote:
>
>
> David Leimbach wrote:
>
> >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()?
> >
> >
>
> 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.
>
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.
>
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.
>
> >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.
> >
> >
>
> there has been a 1:1 and an M:N library since 5.2
>
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
More information about the freebsd-hackers
mailing list