rcu: Make RCU-tasks wait for idle tasks
Because idle-task code may need to be patched, RCU-tasks need to wait
for idle tasks to schedule. This commit therefore detects this case
via context switch. Block CPU hotplug during this time to avoid sending
IPIs to offline CPUs.
Note that checking for changes in the dyntick-idle counters is tempting,
but wrong. The reason that it is wrong is that a interrupt or NMI can
increment these counters without necessarily allowing the idle tasks to
make any forward progress.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
1 file changed