Fast user Space Mutexes (aka Futexes)

Matthew Dillon dillon at
Tue Oct 21 11:13:02 PDT 2003

    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.

    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.


More information about the Kernel mailing list