[PATCH 00/11] rcu/nocb: (De-)offloading on offline CPUs

From: Frederic Weisbecker
Date: Thu May 30 2024 - 09:46:09 EST


Last LPC's debates seem to have raised general agreement that nohz_full
cpusets interface should operate on offline CPUs to simplify the picture.
And since the only known future user of NOCB (de-)offloading is going
to be nohz_full cpusets, its transitions need to operate on offline
CPUs as well.

The good news is that it simplifies a bit the (de-)offloading code, as
the diffstat testifies.

Thanks.

Frederic Weisbecker (11):
rcu/nocb: Introduce RCU_NOCB_LOCKDEP_WARN()
rcu/nocb: Move nocb field at the end of state struct
rcu/nocb: Assert no callbacks while nocb kthread allocation fails
rcu/nocb: Introduce nocb mutex
rcu/nocb: (De-)offload callbacks on offline CPUs only
rcu/nocb: Remove halfway (de-)offloading handling from bypass
rcu/nocb: Remove halfway (de-)offloading handling from rcu_core()'s QS
reporting
rcu/nocb: Remove halfway (de-)offloading handling from rcu_core
rcu/nocb: Remove SEGCBLIST_RCU_CORE
rcu/nocb: Remove SEGCBLIST_KTHREAD_CB
rcu/nocb: Simplify (de-)offloading state machine

include/linux/rcu_segcblist.h | 6 +-
include/linux/rcupdate.h | 7 +
kernel/rcu/rcu_segcblist.c | 11 --
kernel/rcu/rcu_segcblist.h | 11 +-
kernel/rcu/tree.c | 45 +-----
kernel/rcu/tree.h | 6 +-
kernel/rcu/tree_nocb.h | 266 +++++++++++++---------------------
kernel/rcu/tree_plugin.h | 5 +-
8 files changed, 122 insertions(+), 235 deletions(-)

--
2.45.1