~/talk

60 Adaptive userspace spinlocks with rseq

Talkat Linux Plumbers Conference 2023 · 2023-11-13..11-15· [concurrency]
links:none on file
links:none on file
slides:none on file

Proposes exposing thread run state to userspace via rseq so userspace can do cheap, syscall-free checks and only spin when the lock owner is actually running; adds a proposed sched_state field (or separate cacheline) updated by the scheduler, discusses RCU fences and libc integration to avoid reading reclaimed thread memory, and limits applicability to private futexes (no cross-process shared mutexes yet). Benchmarks are not shown; correctness and page‑fault edge cases are discussed.

AI-written summary · about

  1. 0:00Introduction to adaptive spinlocks
  2. 1:08Problem with mutex locks and futex
  3. 2:13RSEQ role in scheduler communication
  4. 3:55Trade-offs in struct layout design
  5. 5:59Robustness and RCU memory barriers
  6. 7:27Limitations for shared memory locks
  7. 8:36Future directions for process support
  8. 9:21Page fault handling for state
  9. 11:03Performance benefits and benchmarks
  10. 13:52Kernel spinning vs user space heuristics
  11. 14:33Microbenchmark testing results
  12. 15:15Power management considerations
  13. 15:58Action items and next steps
  14. 16:40Robust futexes and owner lookup
~/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.