Re: [PATCH 07/10] rcu: Temporarily assume that nohz full CPUs might not be NOCB

From: Paul E. McKenney
Date: Thu May 14 2020 - 11:50:34 EST


On Thu, May 14, 2020 at 01:08:28AM +0200, Frederic Weisbecker wrote:
> On Wed, May 13, 2020 at 11:25:27AM -0700, Paul E. McKenney wrote:
> > On Wed, May 13, 2020 at 06:47:11PM +0200, Frederic Weisbecker wrote:
> > > So far nohz_full CPUs had to be nocb. This requirement may change
> > > temporarily as we are working on preparing RCU to be able to toggle the
> > > nocb state of a CPU. Once that is done and nohz_full can be toggled as
> > > well dynamically, we'll restore that initial requirement.
> >
> > Would it simplify anything to make the CPU exit nohz_full first and
> > then exit rcu_nocb and vice versa in the other direction? That way the
> > assumption about nohz_full CPUs always being rcu_nocb could remain while
> > still allowing runtime changes to both states.
>
> That's the future plan but for now nohz_full can't even be exited yet.
> RCU is unlucky enough to be chosen as the starting point of this whole work :-)

But testing could still start with CPUs marked rcu_nocb but not marked
nohz_full, right? I must confess that I am a bit concerned about the
increase in state space.

> > Of course, given that setup, it would not be possible to cause a CPU to
> > exit rcu_nocb state if it was still in nohz_full state.
>
> Right.
>
> > My fear is that allowing a CPU to be in nohz_full state without also
> > being in rcu_nocb state will cause needless confusion and bug reports.
>
> Well, it should only be visible to those who work on it since there
> won't be a proper interface before we achieve the whole.

Fair point, but I am also concerned about the welfare of the people
working on it. ;-)

Thanx, Paul