Re: [PATCH 00/10] rcu: Allow a CPU to leave and reenter NOCB state

Paul E. McKenney
2020-05-13T18:15:39Z

On Wed, May 13, 2020 at 06:47:04PM +0200, Frederic Weisbecker wrote:
> This is a necessary step toward making nohz_full controllable through
> cpuset. Next step should be to allow a CPU to be nocb even if it wasn't
> part of the nocb set on boot.
>
> The core design of this set is mostly based on suggestions from Paul
> of course.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> rcu/nohz
>
> HEAD: 31cb4ee9da4e9cc6314498ff22d83f0d872b1a88

Very cool!!! A few comments on individual commits on a quick first
scan, and more later.

Thanx, Paul

> Thanks,
> Frederic
> ---
>
> Frederic Weisbecker (10):
> rcu: Directly lock rdp->nocb_lock on nocb code entrypoints
> rcu: Use direct rdp->nocb_lock operations on local calls
> rcu: Make locking explicit in do_nocb_deferred_wakeup_common()
> rcu: Implement rcu_segcblist_is_offloaded() config dependent
> rcu: Remove useless conditional nocb unlock
> rcu: Make nocb_cb kthread parkable
> rcu: Temporarily assume that nohz full CPUs might not be NOCB
> rcu: Allow to deactivate nocb on a CPU
> rcu: Allow to re-offload a CPU that used to be nocb
> rcu: Nocb (de)activate through sysfs
>
>
> include/linux/rcu_segcblist.h | 2 +
> include/linux/rcupdate.h | 4 ++
> kernel/cpu.c | 23 +++++++
> kernel/rcu/rcu_segcblist.c | 6 +-
> kernel/rcu/rcu_segcblist.h | 8 ++-
> kernel/rcu/tree.c | 24 +++----
> kernel/rcu/tree.h | 2 +-
> kernel/rcu/tree_plugin.h | 149 ++++++++++++++++++++++++++++++++++--------
> 8 files changed, 172 insertions(+), 46 deletions(-)