Revisit Multi-Reader Synchronizations for Scalable Applications
summary
RCU is presented as a lock-free reader-writer approach with concrete results: user-space benchmarks show near-linear reader scalability versus mutexes; kernel implements 3-level tree handles 1024 CPUs and a tiny RCU for single-core build; multiple flavors (preemptible, sleepable, task-based) are consolidated into synchronized RCU. A torture suite runs configurable cases including 720-minute torture runs and finds implementation-specific failures; example book-borrowing implementations (kernel and pthread+liburcu) demonstrate correct reclamation via synchronize_rcu.
AI-written summary · about
chapters (16)
- 0:00Start
- 2:09What is RCU (cont.)
- 4:00Why use RCU?
- 5:15When to use RCU?
- 6:12Comparison
- 7:24RCU in the Linux Kernel
- 7:53RCU implementation
- 8:09Classic RCU
- 9:12Tree RCU (Hierarchical RCU)
- 10:09Tiny RCU
- 17:02Run RCU Torture
- 19:53Analyze Test cases of RCU Torture
- 21:11Userspace RCU
- 21:39URCU Flavors
- 24:32From kernel space to user space
- 27:16Reference
related talks
01h 08mRead, Copy, Update, then what? RCU for non-kernel programmers
19mVerifying General-Purpose RCU for Reclamation in Relaxed Memory Separation Logic
55m“A lock-free concurrency toolkit for deferred reclamation and optimistic speculation"
17mExploring a real life RCU use case for Rust
30mSo you want to torture RCU?
17m60 Adaptive userspace spinlocks with rseq
50m“Multithreading is the answer. What is the question? (part 2 of 2)”
58m“The Landscape and Exciting New Future of Safe Reclamation for High Performance”
