The functions in this section are defined only in CONFIG_NO_HZ builds of the Linux kernel, though in some cases, extended-no-op versions are present otherwise. These functions control whether or not RCU pays attention to a given CPU. CPUs in dynticks-idle mode are ignored, but only if they are not currently in an interrupt or NMI handler. The functions in this section communicate this CPU state to RCU.
This set of functions is greatly simplified from that used in
preemptible RCU, see
Section
for a description of the earlier more-complex model.
Manfred Spraul put forth the idea for this simplified interface in
one of his state-based RCU
patches [Spr08b,Spr08a].
Section
describes the functions that enter and exit dynticks-idle mode from
process context,
Section
describes the handling of NMIs from dynticks-idle mode,
Section
covers handling of interrupts from dynticks-idle mode, and
Section
presents functions that check whether some other CPU is currently in
dynticks-idle mode.