Message ID | 20220620221757.3839212-3-paulmck@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Documentation updates for v5.20 | expand |
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@kernel.org> > Reported-by: Uladzislau Rezki <urezki@gmail.com> > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> > --- Reviewed-by: Neeraj Upadhyay <quic_neeraju@quicinc.com> > 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" ? 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
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@kernel.org> > > Reported-by: Uladzislau Rezki <urezki@gmail.com> > > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> > > --- > > Reviewed-by: Neeraj Upadhyay <quic_neeraju@quicinc.com> > > > 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
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 + 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
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@kernel.org> Reported-by: Uladzislau Rezki <urezki@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> --- Documentation/admin-guide/kernel-parameters.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+)