Messages in this thread | | | Date | Thu, 1 Aug 2019 16:16:19 -0700 | From | "Paul E. McKenney" <> | Subject | [PATCH tip/core/rcu 0/10] No-CBs contention-reduction updates for v5.3-rc2 |
| |
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(-)
| |