D.3.7 Dyntick-Idle Functions

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.



Subsections

Paul E. McKenney 2011-12-16