D.3 Hierarchical RCU Code Walkthrough

This section walks through selected sections of the Linux-kernel hierarchical RCU code. As such, this section is intended for hard-core hackers who wish to understand hierarchical RCU at a very low level, and such hackers should first read Section [*]. Hard-core masochists might also be interested in reading this section. Of course really hard-core masochists will read this section before reading Section [*].

Section [*] describes data structures and kernel parameters, Section [*] covers external function interfaces, Section [*] presents the initialization process, Section [*] explains the CPU-hotplug interface, Section [*] covers miscellaneous utility functions, Section [*] describes the mechanics of grace-period detection, Section [*] presents the dynticks-idle interface, Section [*] covers the functions that handle holdout CPUs (including offline and dynticks-idle CPUs), and Section [*] presents functions that report on stalled CPUs, namely those spinning in kernel mode for many seconds. Finally, Section [*] reports on possible design flaws and fixes.



Subsections

Paul E. McKenney 2011-12-16