linux/kernel/rcu
Peter Zijlstra 3a6d7c64d7 rcu: Make expedited GP CPU stoppage asynchronous
Sequentially stopping the CPUs slows down expedited grace periods by
at least a factor of two, based on rcutorture's grace-period-per-second
rate.  This is a conservative measure because rcutorture uses unusually
long RCU read-side critical sections and because rcutorture periodically
quiesces the system in order to test RCU's ability to ramp down to and
up from the idle state.  This commit therefore replaces the stop_one_cpu()
with stop_one_cpu_nowait(), using an atomic-counter scheme to determine
when all CPUs have passed through the stopped state.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-07-17 14:58:50 -07:00
..
Makefile rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
rcu.h tiny_rcu: Directly force QS when call_rcu_[bh|sched]() on idle_task 2015-01-06 11:01:12 -08:00
rcutorture.c rcutorture: Test SRCU cleanup code path 2015-05-27 12:59:58 -07:00
srcu.c rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE() 2015-05-27 12:56:15 -07:00
tiny_plugin.h rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE() 2015-05-27 12:56:15 -07:00
tiny.c This patch series contains several clean ups and even a new trace clock 2015-06-26 14:02:43 -07:00
tree_plugin.h rcu: Remove CONFIG_RCU_CPU_STALL_INFO 2015-07-17 14:58:44 -07:00
tree_trace.c rcu: Make expedited GP CPU stoppage asynchronous 2015-07-17 14:58:50 -07:00
tree.c rcu: Make expedited GP CPU stoppage asynchronous 2015-07-17 14:58:50 -07:00
tree.h rcu: Make expedited GP CPU stoppage asynchronous 2015-07-17 14:58:50 -07:00
update.c rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE() 2015-05-27 12:56:15 -07:00