Skip to content

Commit f30e258

Browse files
paulmckrcuFrederic Weisbecker
authored andcommitted
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 <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Reviewed-by: Neeraj Upadhyay <[email protected]> Signed-off-by: Frederic Weisbecker <[email protected]>
1 parent 5d2501f commit f30e258

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

kernel/rcu/Kconfig

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -249,16 +249,24 @@ config RCU_NOCB_CPU
249249
workloads will incur significant increases in context-switch
250250
rates.
251251

252-
This option offloads callback invocation from the set of CPUs
253-
specified at boot time by the rcu_nocbs parameter. For each
254-
such CPU, a kthread ("rcuox/N") will be created to invoke
255-
callbacks, where the "N" is the CPU being offloaded, and where
256-
the "x" is "p" for RCU-preempt (PREEMPTION kernels) and "s" for
257-
RCU-sched (!PREEMPTION kernels). Nothing prevents this kthread
258-
from running on the specified CPUs, but (1) the kthreads may be
259-
preempted between each callback, and (2) affinity or cgroups can
260-
be used to force the kthreads to run on whatever set of CPUs is
261-
desired.
252+
This option offloads callback invocation from the set of
253+
CPUs specified at boot time by the rcu_nocbs parameter.
254+
For each such CPU, a kthread ("rcuox/N") will be created to
255+
invoke callbacks, where the "N" is the CPU being offloaded,
256+
and where the "x" is "p" for RCU-preempt (PREEMPTION kernels)
257+
and "s" for RCU-sched (!PREEMPTION kernels). This option
258+
also creates another kthread for each sqrt(nr_cpu_ids) CPUs
259+
("rcuog/N", where N is the first CPU in that group to come
260+
online), which handles grace periods for its group. Nothing
261+
prevents these kthreads from running on the specified CPUs,
262+
but (1) the kthreads may be preempted between each callback,
263+
and (2) affinity or cgroups can be used to force the kthreads
264+
to run on whatever set of CPUs is desired.
265+
266+
The sqrt(nr_cpu_ids) grouping may be overridden using the
267+
rcutree.rcu_nocb_gp_stride kernel boot parameter. This can
268+
be especially helpful for smaller numbers of CPUs, where
269+
sqrt(nr_cpu_ids) can be a bit of a blunt instrument.
262270

263271
Say Y here if you need reduced OS jitter, despite added overhead.
264272
Say N here if you are unsure.

0 commit comments

Comments
 (0)