Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - R index
The Linux kernel configuration item CONFIG_RCU_NOCB_CPU
has multiple definitions:
kernel/rcu/Kconfig
The configuration item CONFIG_RCU_NOCB_CPU:
( CONFIG_TREE_RCU ) && ( CONFIG_RCU_EXPERT || CONFIG_NO_HZ_FULL )
Use this option to reduce OS jitter for aggressive HPC or real-time workloads. It can also be used to offload RCU callback invocation to energy-efficient CPUs in battery-powered asymmetric multiprocessors. The price of this reduced jitter is that the overhead of call_rcu() increases and that some workloads will incur significant increases in context-switch rates.
This option offloads callback invocation from the set of CPUs specified at boot time by the rcu_nocbs parameter. For each such CPU, a kthread ("rcuox/N") will be created to invoke callbacks, where the "N" is the CPU being offloaded, and where the "x" is "p" for RCU-preempt (PREEMPTION kernels) and "s" for RCU-sched (!PREEMPTION kernels). This option also creates another kthread for each sqrt(nr_cpu_ids) CPUs ("rcuog/N", where N is the first CPU in that group to come online), which handles grace periods for its group. Nothing 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 N here if you are unsure.
init/Kconfig
The configuration item CONFIG_RCU_NOCB_CPU:
( CONFIG_TREE_RCU || CONFIG_PREEMPT_RCU ) && ( CONFIG_RCU_EXPERT || CONFIG_NO_HZ_FULL )
Use this option to reduce OS jitter for aggressive HPC or real-time workloads. It can also be used to offload RCU callback invocation to energy-efficient CPUs in battery-powered asymmetric multiprocessors.
This option offloads callback invocation from the set of CPUs specified at boot time by the rcu_nocbs parameter. For each such CPU, a kthread ("rcuox/N") will be created to invoke callbacks, where the "N" is the CPU being offloaded, and where the "x" is "b" for RCU-bh, "p" for RCU-preempt, and "s" for RCU-sched. Nothing prevents this kthread 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.
Say Y here if you want to help to debug reduced OS jitter. Say N here if you are unsure.
init/Kconfig
The configuration item CONFIG_RCU_NOCB_CPU:
CONFIG_TREE_RCU || CONFIG_TREE_PREEMPT_RCU
Use this option to reduce OS jitter for aggressive HPC or real-time workloads. It can also be used to offload RCU callback invocation to energy-efficient CPUs in battery-powered asymmetric multiprocessors.
This option offloads callback invocation from the set of CPUs specified at boot time by the rcu_nocbs parameter. For each such CPU, a kthread ("rcuox/N") will be created to invoke callbacks, where the "N" is the CPU being offloaded, and where the "x" is "b" for RCU-bh, "p" for RCU-preempt, and "s" for RCU-sched. Nothing prevents this kthread 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.
Say Y here if you want to help to debug reduced OS jitter. Say N here if you are unsure.
Raw data from LKDDb:
(none)
This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).
The data is retrived from:
Popular queries:
Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - R index
Automatically generated (in year 2024). See also LKDDb sources on GitLab