Fast user Space Mutexes (aka Futexes)
dillon at apollo.backplane.com
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