Fast User Space Mutexes (aka Futexes)

Joerg Sonnenberger joerg at
Tue Oct 21 09:01:01 PDT 2003

On Tue, Oct 21, 2003 at 04:05:04PM +0100, Hiten Pandya wrote:
> Hi Gang,
> Sinces the day when Matt was interviewed by the SlashNET people, a 
> couple of questions arised as to the implementation of Futexes for the 
> new libcr which is going to be written.

IMO the futex interface is a useful foundation of the new libcr, but
the kernel support should be optional. For a normal SMP machine and
for threaded apps, no kernel support should be necessary. Or at least
no other support then the interthread messaging. The situation is the
same for IPC with inter-process messaging (between native apps or
the emulation code). For a clustered mode any synchronisation needs
a network round-trip if the futex is not "bound" to the local machine
(e.g. by being to last having it upped or downed). For those
situation a third state (might block) can be useful.


More information about the Kernel mailing list