DragonFly kernel List (threaded) for 2003-07
Re: just curious
Matthew Dillon wrote:
> Another thing that shouldn't be missed here is that a messaging syscall
> interface allows us to use an incremental development model for the
> userland and kernelland threading support. The userland can fire off
> 'asynchronous' system calls to the kernel without being any the wiser
> as to how the kernel actually deals with them. We could initially
> implement an internal rfork() mechanism for the kernel to run the
> 'asynchronous' system calls.
> Userland thread library development could proceed without having to
> wait for complete threading support in the kernel, and asynchronization
> of individual blockable syscalls in the kernel can be worked on
> in piecemeal and in parallel.
> That's a very big deal! It makes me want to tackle the syscall
> messaging next, but I'm set on doing DEV first. Maybe I'll tackle
> the basic syscall messaging support before I do VFS.
FWIW, this is what I originally envisioned when I first suggested
the use of an "async call gate" for implementing threads on FreeBSD,
but was sot down over legacy support issues with static binaries,
and FreeBSD ended up with a more traditional scheduler activations
implementation instead. Then they had to go 64 bit for a lot of
system calls, and ended up implementing new system calls anyway,
only they still weren't async. 8-).