diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2013-01-07 16:37:42 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-03-12 14:17:51 -0400 |
commit | 34ed62461ae4970695974afb9a60ac3df0086830 (patch) | |
tree | d65a582953a66ee089074fd5a57e39460d4ce2c6 /init | |
parent | f6161aa153581da4a3867a2d1a7caf4be19b6ec9 (diff) |
rcu: Remove restrictions on no-CBs CPUs
Currently, CPU 0 is constrained to not be a no-CBs CPU, and furthermore
at least one no-CBs CPU must remain online at any given time. These
restrictions are problematic in some situations, such as cases where
all CPUs must run a real-time workload that needs to be insulated from
OS jitter and latencies due to RCU callback invocation. This commit
therefore provides no-CBs CPUs a (very crude and energy-inefficient)
way to start and to wait for grace periods independently of the normal
RCU callback mechanisms. This approach allows any or all of the CPUs to
be designated as no-CBs CPUs, and allows any proper subset of the CPUs
(whether no-CBs CPUs or not) to be offlined.
This commit also provides a fix for a locking bug spotted by Xie
ChanglongX <changlongx.xie@intel.com>.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/init/Kconfig b/init/Kconfig index 22616cd434bc..c8bd349eb638 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -655,7 +655,7 @@ config RCU_BOOST_DELAY | |||
655 | Accept the default if unsure. | 655 | Accept the default if unsure. |
656 | 656 | ||
657 | config RCU_NOCB_CPU | 657 | config RCU_NOCB_CPU |
658 | bool "Offload RCU callback processing from boot-selected CPUs" | 658 | bool "Offload RCU callback processing from boot-selected CPUs (EXPERIMENTAL" |
659 | depends on TREE_RCU || TREE_PREEMPT_RCU | 659 | depends on TREE_RCU || TREE_PREEMPT_RCU |
660 | default n | 660 | default n |
661 | help | 661 | help |
@@ -673,7 +673,7 @@ config RCU_NOCB_CPU | |||
673 | callback, and (2) affinity or cgroups can be used to force | 673 | callback, and (2) affinity or cgroups can be used to force |
674 | the kthreads to run on whatever set of CPUs is desired. | 674 | the kthreads to run on whatever set of CPUs is desired. |
675 | 675 | ||
676 | Say Y here if you want reduced OS jitter on selected CPUs. | 676 | Say Y here if you want to help to debug reduced OS jitter. |
677 | Say N here if you are unsure. | 677 | Say N here if you are unsure. |
678 | 678 | ||
679 | endmenu # "RCU Subsystem" | 679 | endmenu # "RCU Subsystem" |