| From | Sent On | Attachments |
|---|---|---|
| David Leimbach | Apr 22, 2005 8:41 am | |
| Julian Elischer | Apr 22, 2005 12:42 pm | |
| David Leimbach | Apr 22, 2005 3:01 pm | |
| Jas arlerr | Apr 23, 2005 5:09 am | |
| Lyndon Nerenberg | Apr 23, 2005 5:09 am | |
| David Leimbach | Apr 23, 2005 7:30 am | |
| Julian Elischer | Apr 23, 2005 7:31 am | |
| Kostik Belousov | Apr 25, 2005 12:37 am |
| Subject: | libthread 1:1 threads | |
|---|---|---|
| From: | David Leimbach (dlei...@gmail.com) | |
| Date: | Apr 22, 2005 3:01:57 pm | |
| List: | org.freebsd.freebsd-hackers | |
On 4/22/05, Julian Elischer <jul...@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





