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(-)