Re: [PATCH rcu 3/3] doc: Document rcutree.nocb_nobypass_lim_per_jiffy kernel parameter

From: Paul E. McKenney
Date: Tue Jun 21 2022 - 15:03:41 EST


On Tue, Jun 21, 2022 at 10:41:54AM +0530, Neeraj Upadhyay wrote:
>
>
> On 6/21/2022 3:47 AM, Paul E. McKenney wrote:
> > This commit provides documentation for the kernel parameter controlling
> > RCU's handling of callback floods on offloaded (rcu_nocbs) CPUs.
> > This parameter might be obscure, but it is always there when you need it.
> >
> > Reported-by: Frederic Weisbecker <frederic@xxxxxxxxxx>
> > Reported-by: Uladzislau Rezki <urezki@xxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > ---
>
> Reviewed-by: Neeraj Upadhyay <quic_neeraju@xxxxxxxxxxx>
>
> > Documentation/admin-guide/kernel-parameters.txt | 13 +++++++++++++
> > 1 file changed, 13 insertions(+)
> >
> > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> > index bdf431bdbfdc4..a30890141b1a5 100644
> > --- a/Documentation/admin-guide/kernel-parameters.txt
> > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > @@ -4681,6 +4681,19 @@
> > invoked in the context of an rcuoc kthread, which
> > scheduler will preempt as it does any other task.
> > + rcutree.nocb_nobypass_lim_per_jiffy= [KNL]
> > + On callback-offloaded (rcu_nocbs) CPUs,
> > + RCU reduces the lock contention that would
> > + otherwise be caused callback floods through
>
> Minor : "caused by" ?

Good catch, fixed, thank you!

I applied your Reviewed-by to this series as well, and thank you for
that as well.

Thanx, Paul

> Thanks
> Neeraj
>
> > + use of the ->nocb_bypass list. However, in the
> > + common non-flooded case, RCU queues directly to
> > + the main ->cblist in order to avoid the extra
> > + overhead of the ->nocb_bypass list and its lock.
> > + But if there are too many callbacks queued during
> > + a single jiffy, RCU pre-queues the callbacks into
> > + the ->nocb_bypass queue. The definition of "too
> > + many" is supplied by this kernel boot parameter.
> > +
> > rcutree.rcu_nocb_gp_stride= [KNL]
> > Set the number of NOCB callback kthreads in
> > each group, which defaults to the square root