What is RCU and how does it differ from reader-writer locks?
RCU (Read-Copy-Update) eliminates read-side blocking entirely. Instead of holding a lock while readers execute, a writer makes a copy, mutates the copy off-to-the-side, atomically flips a single pointer, then waits for a grace period before freeing the old version. Readers never block and scale linearly with CPU count.
Answered in
How Linux RCU Unlocks Read-Side ScalingRCU lets millions of readers run lock-free while a single writer updates state by copying, mutating off-to-the-side, and atomically flipping a pointer.
Read the full analysisOther questions this article answers
More system design questions
- Why doesn't Google just run Dijkstra faster?
- What is a shortcut edge and when is it precomputed?
- How much space do shortcut edges take compared to the original graph?
- Can Contraction Hierarchies handle dynamic graphs like traffic or road closure?
- Why contract low-degree nodes first instead of high-degree ones?
- What is a CRDT and why does it matter for real-time collaboration?
- How do CRDTs handle concurrent edits without a central server referee?
- Why did Figma move from operational transforms to CRDTs?
Every answer on Crashtech is written by the editor of the article it comes from — never auto-summarised. Browse all answers or the System Design beat.