linux/kernel/rcu
Paul E. McKenney bce5fa12aa rcu: Move synchronize_sched_expedited() to combining tree
Currently, synchronize_sched_expedited() uses a single global counter
to track the number of remaining context switches that the current
expedited grace period must wait on.  This is problematic on large
systems, where the resulting memory contention can be pathological.
This commit therefore makes synchronize_sched_expedited() instead use
the combining tree in the same manner as synchronize_rcu_expedited(),
keeping memory contention down to a dull roar.

This commit creates a temporary function sync_sched_exp_select_cpus()
that is very similar to sync_rcu_exp_select_cpus().  A later commit
will consolidate these two functions, which becomes possible when
synchronize_sched_expedited() switches from stop_one_cpu_nowait() to
smp_call_function_single().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-09-20 21:16:20 -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 Merge branches 'doc.2015.07.15a' and 'torture.2015.07.15a' into HEAD 2015-08-04 08:42:02 -07:00
srcu.c rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() 2015-07-22 15:27:32 -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 rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() 2015-07-22 15:27:32 -07:00
tree_plugin.h rcu: Use single-stage IPI algorithm for RCU expedited grace period 2015-09-20 21:16:19 -07:00
tree_trace.c rcu: Add fastpath bypassing funnel locking 2015-07-17 14:59:06 -07:00
tree.c rcu: Move synchronize_sched_expedited() to combining tree 2015-09-20 21:16:20 -07:00
tree.h rcu: Move synchronize_sched_expedited() to combining tree 2015-09-20 21:16:20 -07:00
update.c rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() 2015-07-22 15:27:33 -07:00