[1/3], It was V1's [3/3] [2/3], reimplement V1's [1/3], and fix the issue in rcutree_offline_cpu() instead of rcutree_dead_cpu() [3/3], handling TICK_DEP_BIT_RCU when cpu offlining V1: https://lore.kernel.org/all/20220910203622.GI4315@paulmck-ThinkPad-P17-Gen-1/T/ Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx> Cc: David Woodhouse <dwmw@xxxxxxxxxxxx> Cc: Frederic Weisbecker <frederic@xxxxxxxxxx> Cc: Neeraj Upadhyay <quic_neeraju@xxxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Cc: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> Cc: "Jason A. Donenfeld" <Jason@xxxxxxxxx> To: rcu@xxxxxxxxxxxxxxx Pingfan Liu (3): rcu: Keep qsmaskinitnext fresh when rcutree_online_cpu() rcu: Resort to cpu_dying_mask for affinity when offlining rcu: coordinate tick dependency during concurrent offlining kernel/rcu/tree.c | 21 ++++++++++++++------- kernel/rcu/tree.h | 1 + kernel/rcu/tree_plugin.h | 13 ++++++++++++- 3 files changed, 27 insertions(+), 8 deletions(-) -- 2.31.1