Read Copy Update
Read-copy update is a mechanism for constructing highly scalable algorithms for accessing and modifying read-mostly data structures, while avoiding cacheline bouncing, memory contention, and deadlocks that plague highly scalable operating system implementations. In particular, code that performs read-only accesses may be written without any locks, atomic instructions, or writes to shared cachelines, even in the face of concurrent updates. We reported on the basic mechanism last year, and have produced a number of Linux patches implementing and exploiting read copy update.
This paper evaluates performance of a number of read copy update implementations for nonpreemptive Linux kernels, and outlines a new implementation targeted to preemptive Linux kernels.