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

Frederic Weisbecker posted 11 patches 1 year, 6 months ago
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(-)
[PATCH 00/11] rcu/nocb: (De-)offloading on offline CPUs
Posted by Frederic Weisbecker 1 year, 6 months ago
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
Re: [PATCH 00/11] rcu/nocb: (De-)offloading on offline CPUs
Posted by Paul E. McKenney 1 year, 4 months ago
On Thu, May 30, 2024 at 03:45:41PM +0200, Frederic Weisbecker wrote:
> 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.

Good stuf!!!

For the series:

Reviewed-by: Paul E. McKenney <paulmck@kernel.org>

> 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
>