Adaptive Futexes - Spin if the Owner is Still Running on Another CPU
Linux Plumbers Conference via YouTube
Lead AI-Native Products with Microsoft's Agentic AI Program
PowerBI Data Analyst - Create visualizations and dashboards from scratch
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Explore an advanced kernel optimization technique in this 25-minute conference talk that examines adaptive futexes and their potential to significantly improve performance in multi-threaded applications. Learn about the current limitations of futex implementations where tasks immediately sleep when unable to acquire a lock, causing performance degradation when futexes are held for short durations. Discover how adaptive futexes could revolutionize synchronization by implementing spinning behavior similar to kernel adaptive mutexes, where blocked tasks spin if the lock owner is actively running on another CPU rather than immediately entering sleep mode. Understand the technical challenges involved in exposing futex ownership information to the kernel and the necessary contracts required between the C library and kernel space to enable this optimization. Gain insights into how this approach could deliver tremendous speedup improvements for futex-based synchronization by allowing blocked tasks to detect lock releases and potentially acquire futexes directly from within the kernel, reducing the overhead associated with sleep and wake-up cycles in high-contention scenarios.
Syllabus
Adaptive futexes: spin if the owner is still running on another CPU - Steven Rostedt
Taught by
Linux Plumbers Conference