This document provides an overview of Read-Copy-Update (RCU), which is an alternative to read-write locks that allows for lock-free reads in concurrent data structures. RCU splits updates into removal and reclamation phases, allowing reads to occur concurrently with updates. It guarantees that no reader will see an inconsistent state by waiting for a grace period to pass, in which all pre-existing readers must have completed. The document describes RCU primitives, list operations, sleepable RCU, and user-level RCU.