]> git.karo-electronics.de Git - karo-tx-linux.git/commit
rcu: Make synchronize_sched_expedited() better at work sharing
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 22 Sep 2011 20:18:44 +0000 (13:18 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 29 Sep 2011 18:13:06 +0000 (11:13 -0700)
commit0d6e54e6dd09b6d1c0cf858882f0d9b681150239
treeeecbe2accdffcba51db327030196f9349a2f0aa3
parent4b6f3d92c1500188f1c579e8598bf4f8c34fdbad
rcu: Make synchronize_sched_expedited() better at work sharing

When synchronize_sched_expedited() takes its second and subsequent
snapshots of sync_sched_expedited_started, it subtracts 1.  This
means that the concurrent caller of synchronize_sched_expedited()
that incremented to that value sees our successful completion, it
will not be able to take advantage of it.  This restriction is
pointless, given that our full expedited grace period would have
happened after the other guy started, and thus should be able to
serve as a proxy for the other guy successfully executing
try_stop_cpus().

This commit therefore removes the subtraction of 1.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree_plugin.h