Why it matters

Futexes make mutexes fast. Foundation of Linux threading.

Advertisement

The architecture

Fast path: atomic CAS in user.

Contention: kernel wait.

Wake specific waiters.

Futexes flowFast pathatomic CASContentionkernel waitWakespecific waiterFranke-Russell-Kirkwood 2002; Linux syscalls futex_wait/wake
Futexes flow.
Advertisement

How it works end to end

Linux futex syscall.

Fast uncontended path.

Kernel wait on contention.