Hello! This series provides updates for the RCU Tasks family, perhaps most notably reducing the CPU overhead of RCU Tasks Trace grace periods: 1. rcu-tasks: Check for abandoned callbacks. 2. rcu-tasks: Split rcu_tasks_one_gp() from rcu_tasks_kthread(). 3. rcu-tasks: Move synchronize_rcu_tasks_generic() down. 4. rcu-tasks: Drive synchronous grace periods from calling task. 5. rcu-tasks: Merge state into .b.need_qs and atomically update. 6. rcu-tasks: Remove rcu_tasks_trace_postgp() wait for counter. 7. rcu-tasks: Make trc_read_check_handler() fetch ->trc_reader_nesting only once. 8. rcu-tasks: Idle tasks on offline CPUs are in quiescent states. 9. rcu-tasks: Handle idle tasks for recently offlined CPUs. 10. rcu-tasks: RCU Tasks Trace grace-period kthread has implicit QS. 11. rcu-tasks: Make rcu_note_context_switch() unconditionally call rcu_tasks_qs(). 12. rcu-tasks: Simplify trc_inspect_reader() QS logic. 13. rcu-tasks: Add slow-IPI indicator to RCU Tasks Trace stall warnings. 14. rcu-tasks: Flag offline CPUs in RCU Tasks Trace stall warnings. 15. rcu-tasks: Make RCU Tasks Trace stall warnings print full .b.need_qs field. 16. rcu-tasks: Make RCU Tasks Trace stall warning handle idle offline tasks. 17. rcu-tasks: Add data structures for lightweight grace periods. 18. rcu-tasks: Track blocked RCU Tasks Trace readers. 19. rcu-tasks: Untrack blocked RCU Tasks Trace at reader end. 20. rcu-tasks: Add blocked-task indicator to RCU Tasks Trace stall warnings. 21. rcu-tasks: Move rcu_tasks_trace_pertask() before rcu_tasks_trace_pregp_step(). 22. rcu-tasks: Avoid rcu_tasks_trace_pertask() duplicate list additions. 23. rcu-tasks: Scan running tasks for RCU Tasks Trace readers. 24. rcu-tasks: Pull in tasks blocked within RCU Tasks Trace readers. 25. rcu-tasks: Stop RCU Tasks Trace from scanning idle tasks. 26. rcu-tasks: Stop RCU Tasks Trace from scanning full tasks list. 27. rcu-tasks: Maintain a count of tasks blocking RCU Tasks Trace grace period. 28. rcu-tasks: Eliminate RCU Tasks Trace IPIs to online CPUs. 29. rcu-tasks: Disable and enable CPU hotplug in same function. 30. rcu-tasks: Update comments. 31. rcu-tasks: Be more patient for RCU Tasks boot-time testing. 32. rcu-tasks: Use delayed_work to delay rcu_tasks_verify_self_tests(), courtesy of Waiman Long. Thanx, Paul ------------------------------------------------------------------------ b/include/linux/rcupdate.h | 18 - b/include/linux/rcupdate_trace.h | 2 b/include/linux/sched.h | 1 b/init/init_task.c | 1 b/kernel/fork.c | 1 b/kernel/rcu/tasks.h | 5 b/kernel/rcu/tree_plugin.h | 2 b/kernel/sched/core.c | 32 + include/linux/rcupdate.h | 11 include/linux/sched.h | 3 kernel/rcu/tasks.h | 678 +++++++++++++++++++++++---------------- 11 files changed, 466 insertions(+), 288 deletions(-)