D. Read-Copy Update Implementations

This appendix describes several fully functional production-quality RCU implementations. Understanding of these implementations requires a thorough understanding of the material in Chapters [*] and [*], as well as a reasonably good understanding of the Linux kernel, the latter of which may be found in several textbooks and websites [BC05,CRKH05,Cor08,Lov05].

If you are new to RCU implementations, you should start with the simpler ``toy'' RCU implementations that may be found in Section [*].

Section [*] presents ``Sleepable RCU'', or SRCU, which allows SRCU readers to sleep arbitrarily. This is a simple implementation, as production-quality RCU implementations go, and a good place to start learning about such implementations.

Section [*] gives an overview of a highly scalable implementation of Classic RCU, designed for SMP systems sporting thousands of CPUs. Section [*] takes the reader on a code walkthrough of this same implementation (as of late 2008).

Finally, Section [*] provides a detailed view of the preemptible RCU implementation used in real-time systems.



Subsections
Paul E. McKenney 2011-12-16