~/talk

Adaptive futexes: spin if the owner is still running on another CPU

links:none on file
slides:none on file

Proposal: store the lock owner (owner TID) in the futex word so the kernel can observe the owner’s run state and spin if owner is running on another CPU instead of immediately sleeping. Prototype uses the restartable sequences shared area as a small counter (restartable sequences shared counter) so the kernel grants an extended time slice ~50µs to avoid preemption, and can detect release and transfer the futex inside the kernel. Requires a libc/kernel contract and Futex 2 syscall support; prototype is under 100 lines and shows large benchmark wins.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 1:48Real-time kernel lock contention
  3. 3:10Adaptive mutexes concept
  4. 5:21User space spin locks dilemma
  5. 8:09Lazy preemption in the kernel
  6. 10:15Extended time slice for user space
  7. 13:26Futex 2 and adaptive spinning
  8. 17:18Combining solutions for performance
  9. 21:51Implementation and future work
  10. 24:10Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.