rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle()
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 27 Jan 2017 21:17:02 +0000 (13:17 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 18 Apr 2017 18:38:18 +0000 (11:38 -0700)
commit0f9be8cabbc343218dd2807af7308656be113045
treed99e786bc49f6d77bbd1fa4fa7c4df31de9fed8d
parent9577df9a3122af08fff84b8a1a60dccf524a3891
rcu: Eliminate flavor scan in rcu_momentary_dyntick_idle()

The rcu_momentary_dyntick_idle() function scans the RCU flavors, checking
that one of them still needs a quiescent state before doing an expensive
atomic operation on the ->dynticks counter.  However, this check reduces
overhead only after a rare race condition, and increases complexity.  This
commit therefore removes the scan and the mechanism enabling the scan.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Documentation/RCU/Design/Data-Structures/Data-Structures.html
kernel/rcu/tree.c
kernel/rcu/tree.h