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.