rcu: Add rcuog kthreads to RCU_NOCB_CPU help text

The RCU_NOCB_CPU help text currently fails to mention rcuog kthreads,
so this commit adds this information.

Reported-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
This commit is contained in:
Paul E. McKenney 2024-10-09 11:00:39 -07:00 committed by Frederic Weisbecker
parent 5d2501f42c
commit f30e2582a7

View File

@ -249,16 +249,24 @@ config RCU_NOCB_CPU
workloads will incur significant increases in context-switch workloads will incur significant increases in context-switch
rates. rates.
This option offloads callback invocation from the set of CPUs This option offloads callback invocation from the set of
specified at boot time by the rcu_nocbs parameter. For each CPUs specified at boot time by the rcu_nocbs parameter.
such CPU, a kthread ("rcuox/N") will be created to invoke For each such CPU, a kthread ("rcuox/N") will be created to
callbacks, where the "N" is the CPU being offloaded, and where invoke callbacks, where the "N" is the CPU being offloaded,
the "x" is "p" for RCU-preempt (PREEMPTION kernels) and "s" for and where the "x" is "p" for RCU-preempt (PREEMPTION kernels)
RCU-sched (!PREEMPTION kernels). Nothing prevents this kthread and "s" for RCU-sched (!PREEMPTION kernels). This option
from running on the specified CPUs, but (1) the kthreads may be also creates another kthread for each sqrt(nr_cpu_ids) CPUs
preempted between each callback, and (2) affinity or cgroups can ("rcuog/N", where N is the first CPU in that group to come
be used to force the kthreads to run on whatever set of CPUs is online), which handles grace periods for its group. Nothing
desired. prevents these kthreads from running on the specified CPUs,
but (1) the kthreads may be preempted between each callback,
and (2) affinity or cgroups can be used to force the kthreads
to run on whatever set of CPUs is desired.
The sqrt(nr_cpu_ids) grouping may be overridden using the
rcutree.rcu_nocb_gp_stride kernel boot parameter. This can
be especially helpful for smaller numbers of CPUs, where
sqrt(nr_cpu_ids) can be a bit of a blunt instrument.
Say Y here if you need reduced OS jitter, despite added overhead. Say Y here if you need reduced OS jitter, despite added overhead.
Say N here if you are unsure. Say N here if you are unsure.