aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2013-01-07 16:37:42 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-03-12 14:17:51 -0400
commit34ed62461ae4970695974afb9a60ac3df0086830 (patch)
treed65a582953a66ee089074fd5a57e39460d4ce2c6 /init
parentf6161aa153581da4a3867a2d1a7caf4be19b6ec9 (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/Kconfig4
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
657config RCU_NOCB_CPU 657config 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
679endmenu # "RCU Subsystem" 679endmenu # "RCU Subsystem"