linux/kernel/rcu
Paul E. McKenney 09efeeee17 rcu: Move callback-list warning to irq-disable region
After adopting callbacks from a newly offlined CPU, the adopting CPU
checks to make sure that its callback list's count is zero only if the
list has no callbacks and vice versa.  Unfortunately, it does so after
enabling interrupts, which means that false positives are possible due to
interrupt handlers invoking call_rcu().  Although these false positives
are improbable, rcutorture did make it happen once.

This commit therefore moves this check to an irq-disabled region of code,
thus suppressing the false positive.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2017-07-25 13:04:50 -07:00
..
Kconfig rcu: Remove RCU CPU stall warnings from Tiny RCU 2017-06-08 18:52:45 -07:00
Kconfig.debug rcu: Move RCU debug Kconfig options to kernel/rcu 2017-06-08 18:52:44 -07:00
Makefile rcu: Remove debugfs tracing 2017-06-08 18:52:43 -07:00
rcu.h rcu: Eliminate NOCBs CPU-state Kconfig options 2017-06-08 18:52:43 -07:00
rcu_segcblist.c rcu: Remove unused RCU list functions 2017-07-25 13:04:49 -07:00
rcu_segcblist.h rcu: Remove unused RCU list functions 2017-07-25 13:04:49 -07:00
rcuperf.c rcu: Move expediting-related access/control out of rcupdate.h 2017-06-08 18:52:28 -07:00
rcutorture.c srcu: Remove Classic SRCU 2017-06-08 18:52:42 -07:00
srcutiny.c srcu: Apply trivial callback lists to shrink Tiny SRCU 2017-06-08 18:52:35 -07:00
srcutree.c srcu: Use rnp->lock wrappers to replace explicit memory barriers 2017-06-08 18:52:38 -07:00
sync.c locking, rcu, cgroup: Avoid synchronize_sched() in __cgroup_procs_write() 2016-08-18 15:36:59 +02:00
tiny.c rcu: Remove RCU CPU stall warnings from Tiny RCU 2017-06-08 18:52:45 -07:00
tiny_plugin.h rcu: Remove RCU CPU stall warnings from Tiny RCU 2017-06-08 18:52:45 -07:00
tree.c rcu: Move callback-list warning to irq-disable region 2017-07-25 13:04:50 -07:00
tree.h rcu: Localize rcu_state ->orphan_pend and ->orphan_done 2017-07-25 13:04:49 -07:00
tree_exp.h rcu: Make expedited GPs correctly handle hardware CPU insertion 2017-07-25 13:04:45 -07:00
tree_plugin.h rcu: Make NOCB CPUs migrate CBs directly from outgoing CPU 2017-07-25 13:04:47 -07:00
update.c rcu: Move rcu_expedited and rcu_normal externs from rcupdate.h 2017-06-08 18:52:27 -07:00