aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-04-30 17:49:42 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-06-10 16:44:57 -0400
commit676c3dc2033aa43f2e605611dec9be55a921dafd (patch)
tree2021f6c6d9b79d8af4b0c9e85d4d6726af01fb49 /init/Kconfig
parent4982969d965ec87b1887c86d2e0b3d81065e1d38 (diff)
rcu: Apply Dave Jones's NOCB Kconfig help feedback
The Kconfig help text for the RCU_NOCB_CPU_NONE, RCU_NOCB_CPU_ZERO, and RCU_NOCB_CPU_ALL Kconfig options was unclear, so this commit adds a bit more detail. Reported-by: Dave Jones <davej@redhat.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'init/Kconfig')
-rw-r--r--init/Kconfig34
1 files changed, 25 insertions, 9 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 8df5116621ec..f54bc60f2afb 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -682,9 +682,10 @@ choice
682 prompt "Build-forced no-CBs CPUs" 682 prompt "Build-forced no-CBs CPUs"
683 default RCU_NOCB_CPU_NONE 683 default RCU_NOCB_CPU_NONE
684 help 684 help
685 This option allows no-CBs CPUs to be specified at build time. 685 This option allows no-CBs CPUs (whose RCU callbacks are invoked
686 Additional no-CBs CPUs may be specified by the rcu_nocbs= 686 from kthreads rather than from softirq context) to be specified
687 boot parameter. 687 at build time. Additional no-CBs CPUs may be specified by
688 the rcu_nocbs= boot parameter.
688 689
689config RCU_NOCB_CPU_NONE 690config RCU_NOCB_CPU_NONE
690 bool "No build_forced no-CBs CPUs" 691 bool "No build_forced no-CBs CPUs"
@@ -692,25 +693,40 @@ config RCU_NOCB_CPU_NONE
692 help 693 help
693 This option does not force any of the CPUs to be no-CBs CPUs. 694 This option does not force any of the CPUs to be no-CBs CPUs.
694 Only CPUs designated by the rcu_nocbs= boot parameter will be 695 Only CPUs designated by the rcu_nocbs= boot parameter will be
695 no-CBs CPUs. 696 no-CBs CPUs, whose RCU callbacks will be invoked by per-CPU
697 kthreads whose names begin with "rcuo". All other CPUs will
698 invoke their own RCU callbacks in softirq context.
699
700 Select this option if you want to choose no-CBs CPUs at
701 boot time, for example, to allow testing of different no-CBs
702 configurations without having to rebuild the kernel each time.
696 703
697config RCU_NOCB_CPU_ZERO 704config RCU_NOCB_CPU_ZERO
698 bool "CPU 0 is a build_forced no-CBs CPU" 705 bool "CPU 0 is a build_forced no-CBs CPU"
699 depends on RCU_NOCB_CPU && !NO_HZ_FULL 706 depends on RCU_NOCB_CPU && !NO_HZ_FULL
700 help 707 help
701 This option forces CPU 0 to be a no-CBs CPU. Additional CPUs 708 This option forces CPU 0 to be a no-CBs CPU, so that its RCU
702 may be designated as no-CBs CPUs using the rcu_nocbs= boot 709 callbacks are invoked by a per-CPU kthread whose name begins
703 parameter will be no-CBs CPUs. 710 with "rcuo". Additional CPUs may be designated as no-CBs
711 CPUs using the rcu_nocbs= boot parameter will be no-CBs CPUs.
712 All other CPUs will invoke their own RCU callbacks in softirq
713 context.
704 714
705 Select this if CPU 0 needs to be a no-CBs CPU for real-time 715 Select this if CPU 0 needs to be a no-CBs CPU for real-time
706 or energy-efficiency reasons. 716 or energy-efficiency reasons, but the real reason it exists
717 is to ensure that randconfig testing covers mixed systems.
707 718
708config RCU_NOCB_CPU_ALL 719config RCU_NOCB_CPU_ALL
709 bool "All CPUs are build_forced no-CBs CPUs" 720 bool "All CPUs are build_forced no-CBs CPUs"
710 depends on RCU_NOCB_CPU 721 depends on RCU_NOCB_CPU
711 help 722 help
712 This option forces all CPUs to be no-CBs CPUs. The rcu_nocbs= 723 This option forces all CPUs to be no-CBs CPUs. The rcu_nocbs=
713 boot parameter will be ignored. 724 boot parameter will be ignored. All CPUs' RCU callbacks will
725 be executed in the context of per-CPU rcuo kthreads created for
726 this purpose. Assuming that the kthreads whose names start with
727 "rcuo" are bound to "housekeeping" CPUs, this reduces OS jitter
728 on the remaining CPUs, but might decrease memory locality during
729 RCU-callback invocation, thus potentially degrading throughput.
714 730
715 Select this if all CPUs need to be no-CBs CPUs for real-time 731 Select this if all CPUs need to be no-CBs CPUs for real-time
716 or energy-efficiency reasons. 732 or energy-efficiency reasons.