• Paul E. McKenney's avatar
    rcu: Convert conditional grace-period primitives to ->gp_seq · e4be81a2
    Paul E. McKenney authored
    This commit converts get_state_synchronize_rcu(), cond_synchronize_rcu(),
    get_state_synchronize_sched(), and cond_synchronize_sched() from ->gpnum
    and ->completed to ->gp_seq.  Note that this also introduces a full
    memory barrier in the already-done paths off cond_synchronize_rcu() and
    cond_synchronize_sched(), as work with LKMM indicates that the earlier
    smp_load_acquire() were insufficiently strong in some situations where
    these two functions were called just as the grace period ended.  In such
    cases, these two functions would not gain the benefit of memory ordering
    at the end of the grace period.
    
    Please note that the performance impact is negligible, as you shouldn't
    be using either function anywhere near a fastpath in any case.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    e4be81a2
tree.c 129 KB