Overview
Explore the intricacies of private FUTEX implementation in this 39-minute Linux Foundation conference talk by Sebastian Siewior from Linutronix GmbH. Delve into recent changes in the -RT patchset aimed at improving performance, including the introduction of "lazy preempt" to avoid bad preemption spots and reduce lock contention. Examine proposed modifications to the kernel's futex implementation designed to decrease latency in contended locking and unlocking paths, benefiting both real-time and mainline kernels, especially on large NUMA machines. Learn about unexpected review comments that led to design changes, and gain insights into topics such as wait and wake mechanisms, global hash tables, ping pong boost, FUTEX wake RT, hashing algorithms, and performance optimizations. Understand the challenges of maintaining the Preempt-RT patchset and its implications for kernel development.
Syllabus
Intro
Wait and Wake
Sing EVD
Assembly Code
Global Hash Table
Ping Pong Boost
FUTEX Wake
RT
Global Hesh
Few Text Attached
What We Learned
Hashing Algorithm
Performance
Hash Queue
Hash Prime
Multiplication
Collision Free
Attach
Performance Numbers
Btree
Hash Table
Numbers
Outcome
Taught by
Linux Foundation