Fast user Space Mutexes (aka Futexes)

Galen Sampson galen_sampson at
Tue Oct 21 11:42:52 PDT 2003

--- Matthew Dillon <dillon at xxxxxxxxxxxxxxxxxxxx> wrote:
>     Remember everyone that we are talking about two layers in userland
>     here... the core layer is intended to be the LWKT port and will
>     include a messaging implementation for all system calls.  Then a POSIX
>     layer will be placed on top of that.
>     futexes could be integrated into the higher layer (something at the same
>     level as the POSIX layer).  The userland LWKT, with kernel support, will
>     provide IPC mechanisms if the futex needs it, but this would not prevent
>     the futex code from spinning or spin/switching (in userland) on a mutex
>     if it wants to.

This had not occured to me and is an excellent idea.

>     Also remember that I would eventually like to move the messaging 
>     implementation for system calls into an intermediate layer that is run
>     in userland but loaded by the kernel.  For now I'm not worried about
>     that, we can just have the system call messaging layer directly in libcr.

I realized that this is the final goal.  Such an abstraction should provide
great flexablity in the systemcalls that dragonflyb can provide (including the
ideas regarding binary compatability with other operating systems).  I for one
will be quite impressed with such a system working as described.


Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

More information about the Kernel mailing list