mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
9226b10d78
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> |
||
---|---|---|
.. | ||
Design | ||
00-INDEX | ||
arrayRCU.txt | ||
checklist.txt | ||
listRCU.txt | ||
lockdep-splat.txt | ||
lockdep.txt | ||
NMI-RCU.txt | ||
rcu_dereference.txt | ||
rcu.txt | ||
rcubarrier.txt | ||
rculist_nulls.txt | ||
rcuref.txt | ||
RTFP.txt | ||
stallwarn.txt | ||
torture.txt | ||
trace.txt | ||
UP.txt | ||
whatisRCU.txt |