• Paul E. McKenney's avatar
    rcu: Make synchronize_sched_expedited() better at work sharing · 7077714e
    Paul E. McKenney authored
    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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
    7077714e
rcutree_plugin.h 58.9 KB