• Paul E. McKenney's avatar
    rcu/nocb: Reduce contention at no-CBs invocation-done time · 523bddd5
    Paul E. McKenney authored
    Currently, nocb_cb_wait() unconditionally acquires the leaf rcu_node
    ->lock to advance callbacks when done invoking the previous batch.
    It does this while holding ->nocb_lock, which means that contention on
    the leaf rcu_node ->lock visits itself on the ->nocb_lock.  This commit
    therefore makes this lock acquisition conditional, forgoing callback
    advancement when the leaf rcu_node ->lock is not immediately available.
    (In this case, the no-CBs grace-period kthread will eventually do any
    needed callback advancement.)
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.ibm.com>
    523bddd5
tree_plugin.h 67.3 KB