linux_dsm_epyc7002/Documentation/RCU/Design
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
..
Data-Structures rcu: Place guard on rcu_all_qs() and rcu_note_context_switch() actions 2017-04-18 11:38:18 -07:00
Expedited-Grace-Periods rcu: Design documentation for expedited grace periods 2017-01-14 21:28:58 -08:00
Requirements doc: Fix RCU requirements typos 2017-01-14 21:29:10 -08:00