[PATCH rcu 0/18] Miscellaneous fixes for v5.15

From: Paul E. McKenney
Date: Wed Jul 21 2021 - 16:20:45 EST


Hello!

This series provides miscellaneous fixes:

1. Fix to include first blocked task in stall warning, courtesy of
Yanfei Xu.

2. Fix stall-warning deadlock due to non-release of rcu_node ->lock,
courtesy of Yanfei Xu.

3. Remove special bit at the bottom of the ->dynticks counter,
courtesy of "Joel Fernandes (Google)".

4. Weaken ->dynticks accesses and updates.

5. Mark accesses to ->rcu_read_lock_nesting.

6. Unify documentation about missing list_empty_rcu(), courtesy of
Julian Wiedmann.

7. Handle VM stoppage in stall detection, courtesy of Sergey
Senozhatsky.

8. Do not disable GP stall detection in rcu_cpu_stall_reset(),
courtesy of Sergey Senozhatsky.

9. Start timing stall repetitions after warning complete.

10. Mark read-side data races.

11. Mark lockless ->qsmask read in rcu_check_boost_fail().

12. Make rcu_gp_init() and rcu_gp_fqs_loop noinline to conserve stack.

13. Remove trailing spaces and tabs, courtesy of Zhen Lei.

14. Mark accesses in tree_stall.h.

15. Remove useless "ret" update in rcu_gp_fqs_loop(), courtesy of
Liu Song.

16. Use per_cpu_ptr to get the pointer of per_cpu variable, courtesy
of Liu Song.

17. Explain why rcu_all_qs() is a stub in preemptible TREE RCU,
courtesy of Frederic Weisbecker.

18. Print human-readable message for schedule() in RCU reader.

Thanx, Paul

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

b/include/linux/rculist.h | 35 +++++++-------
b/include/linux/rcupdate.h | 2
b/include/linux/rcutiny.h | 3 -
b/include/linux/srcutiny.h | 8 +--
b/kernel/rcu/srcutiny.c | 2
b/kernel/rcu/tasks.h | 2
b/kernel/rcu/tree.c | 77 +++++---------------------------
b/kernel/rcu/tree.h | 2
b/kernel/rcu/tree_plugin.h | 9 ++-
b/kernel/rcu/tree_stall.h | 4 -
b/kernel/sched/core.c | 11 ++++
kernel/rcu/tree.c | 62 ++++++++++++++++----------
kernel/rcu/tree_plugin.h | 2
kernel/rcu/tree_stall.h | 107 ++++++++++++++++++++++++++++-----------------
14 files changed, 165 insertions(+), 161 deletions(-)