Hello!

This series partially addresses lock-contention increases caused by the
move to the ->cblist segmented callback list.

1.      Enable re-awakening under high callback load.

2.      Never downgrade ->nocb_defer_wakeup in wake_nocb_gp_defer().

3.      Make __call_rcu_nocb_wake() safe for many callbacks.

4.      Avoid needless wakeups of no-CBs grace-period kthread.

5.      Avoid ->nocb_lock capture by corresponding CPU.

6.      Round down for number of no-CBs grace-period kthreads.

7.      Reduce contention at no-CBs registry-time CB advancement.

8.      Reduce contention at no-CBs invocation-done time.

9.      Reduce ->nocb_lock contention with separate ->nocb_gp_lock.

10.     Unconditionally advance and wake for excessive CBs.

                                                        Thanx, Paul

------------------------------------------------------------------------

 tree.c        |   20 ++++++++-
 tree.h        |   21 ++++++++-
 tree_plugin.h |  128 ++++++++++++++++++++++++++++++++++++----------------------
 3 files changed, 118 insertions(+), 51 deletions(-)

Reply via email to