Hello! This series provides RCU Tasks updates, including making stall warnings use task_call_func() and providing better update-side scalability for call_rcu_tasks_trace() and friends: 1. rcu-tasks: Don't remove tasks with pending IPIs from holdout list. 2. rcu-tasks: Create per-CPU callback lists. 3. rcu-tasks: Introduce ->percpu_enqueue_shift for dynamic queue selection. 4. rcu-tasks: Convert grace-period counter to grace-period sequence number. 5. rcu_tasks: Convert bespoke callback list to rcu_segcblist structure. 6. rcu-tasks: Use spin_lock_rcu_node() and friends. 7. rcu-tasks: Inspect stalled task's trc state in locked state, courtesy of Neeraj Upadhyay. 8. rcu-tasks: Add a ->percpu_enqueue_lim to the rcu_tasks structure. 9. rcu-tasks: Abstract checking of callback lists. 10. rcu-tasks: Abstract invocations of callbacks. 11. rcu-tasks: Use workqueues for multiple rcu_tasks_invoke_cbs() invocations. 12. rcu-tasks: Make rcu_barrier_tasks*() handle multiple callback queues. 13. rcu-tasks: Add rcupdate.rcu_task_enqueue_lim to set initial queueing. 14. rcu-tasks: Count trylocks to estimate call_rcu_tasks() contention. 15. rcu-tasks: Avoid raw-spinlocked wakeups from call_rcu_tasks_generic(). 16. rcu-tasks: Use more callback queues if contention encountered. 17. rcu-tasks: Use separate ->percpu_dequeue_lim for callback dequeueing. 18. rcu-tasks: Use fewer callbacks queues if callback flood ends. Thanx, Paul ------------------------------------------------------------------------ Documentation/admin-guide/kernel-parameters.txt | 16 b/Documentation/admin-guide/kernel-parameters.txt | 7 b/kernel/rcu/Kconfig | 2 b/kernel/rcu/tasks.h | 5 kernel/rcu/tasks.h | 668 ++++++++++++++++------ 5 files changed, 518 insertions(+), 180 deletions(-)