linux/kernel/rcu
Paul E. McKenney 0742ac3e2f rcu: Make expedited grace periods recheck dyntick idle state
Expedited grace periods check dyntick-idle state, and avoid sending
IPIs to idle CPUs, including those running guest OSes, and, on NOHZ_FULL
kernels, nohz_full CPUs.  However, the kernel has been observed checking
a CPU while it was non-idle, but sending the IPI after it has gone
idle.  This commit therefore rechecks idle state immediately before
sending the IPI, refraining from IPIing CPUs that have since gone idle.

Reported-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2016-11-14 10:46:31 -08:00
..
Makefile rcutorture: Add RCU grace-period performance tests 2016-03-31 13:37:38 -07:00
rcu.h tiny_rcu: Directly force QS when call_rcu_[bh|sched]() on idle_task 2015-01-06 11:01:12 -08:00
rcuperf.c rcuperf: Consistently insert space between flag and message 2016-08-22 10:06:16 -07:00
rcutorture.c torture: Trace long read-side delays 2016-11-14 10:46:30 -08:00
srcu.c rcu: Add rcu_normal kernel parameter to suppress expediting 2015-12-04 12:26:53 -08:00
sync.c locking, rcu, cgroup: Avoid synchronize_sched() in __cgroup_procs_write() 2016-08-18 15:36:59 +02:00
tiny_plugin.h rcu: Make rcu/tiny_plugin.h explicitly non-modular 2016-02-23 19:59:55 -08:00
tiny.c latent_entropy: Mark functions with __latent_entropy 2016-10-10 14:51:45 -07:00
tree_exp.h rcu: Make expedited grace periods recheck dyntick idle state 2016-11-14 10:46:31 -08:00
tree_plugin.h rcu: Fix soft lockup for rcu_nocb_kthread 2016-08-22 07:53:20 -07:00
tree_trace.c rcu: Drive expedited grace periods from workqueue 2016-08-22 09:30:25 -07:00
tree.c rcu: Remove obsolete comment from __call_rcu() 2016-11-14 10:46:19 -08:00
tree.h rcu: Make expedited grace periods recheck dyntick idle state 2016-11-14 10:46:31 -08:00
update.c rcu: Don't use modular infrastructure in non-modular code 2016-08-22 09:35:27 -07:00