linux/kernel/rcu
Paul E. McKenney 9226b10d78 rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions
The rcu_all_qs() and rcu_note_context_switch() do a series of checks,
taking various actions to supply RCU with quiescent states, depending
on the outcomes of the various checks.  This is a bit much for scheduling
fastpaths, so this commit creates a separate ->rcu_urgent_qs field in
the rcu_dynticks structure that acts as a global guard for these checks.
Thus, in the common case, rcu_all_qs() and rcu_note_context_switch()
check the ->rcu_urgent_qs field, find it false, and simply return.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
2017-04-18 11:38:18 -07:00
..
Makefile rcutorture: Add RCU grace-period performance tests 2016-03-31 13:37:38 -07:00
rcu.h rcu: Semicolon inside RCU_TRACE() for rcu.h 2017-04-18 11:38:17 -07:00
rcuperf.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
rcutorture.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
srcu.c srcu: Check for tardy grace-period activity in cleanup_srcu_struct() 2017-04-18 11:30:58 -07: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: Semicolon inside RCU_TRACE() for Tiny RCU 2017-04-18 11:38:17 -07:00
tiny.c rcu: Semicolon inside RCU_TRACE() for Tiny RCU 2017-04-18 11:38:17 -07:00
tree_exp.h rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions 2017-04-18 11:38:18 -07:00
tree_plugin.h rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions 2017-04-18 11:38:18 -07:00
tree_trace.c rcu: Pull rcu_qs_ctr into rcu_dynticks structure 2017-04-18 11:38:17 -07:00
tree.c rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions 2017-04-18 11:38:18 -07:00
tree.h rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions 2017-04-18 11:38:18 -07:00
update.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00