mbox series

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

Message ID 20240530134552.5467-1-frederic@kernel.org (mailing list archive)
Headers show
Series rcu/nocb: (De-)offloading on offline CPUs | expand

Message

Frederic Weisbecker May 30, 2024, 1:45 p.m. UTC
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(-)