aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-04-10 06:55:49 -0400
committerIngo Molnar <mingo@kernel.org>2013-04-10 06:55:49 -0400
commit8fcfae31719c0a6c03f2cf63f815b46d378d8be4 (patch)
tree3da9d65885de6a2b046fbd5eebc0d19def0c1e2c /init/Kconfig
parentd02a9a89db3437467de45a451739e520877f4a48 (diff)
parent6d87669357936bffa1e8fea7a4e7743e76905736 (diff)
Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU updates from Paul E. McKenney: * Remove restrictions on no-CBs CPUs, make RCU_FAST_NO_HZ take advantage of numbered callbacks, do additional callback accelerations based on numbered callbacks. Posted to LKML at https://lkml.org/lkml/2013/3/18/960. * RCU documentation updates. Posted to LKML at https://lkml.org/lkml/2013/3/18/570. * Miscellaneous fixes. Posted to LKML at https://lkml.org/lkml/2013/3/18/594. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'init/Kconfig')
-rw-r--r--init/Kconfig73
1 files changed, 58 insertions, 15 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 5341d7232c3a..71bb9e73011a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -578,13 +578,16 @@ config RCU_FAST_NO_HZ
578 depends on NO_HZ && SMP 578 depends on NO_HZ && SMP
579 default n 579 default n
580 help 580 help
581 This option causes RCU to attempt to accelerate grace periods in 581 This option permits CPUs to enter dynticks-idle state even if
582 order to allow CPUs to enter dynticks-idle state more quickly. 582 they have RCU callbacks queued, and prevents RCU from waking
583 On the other hand, this option increases the overhead of the 583 these CPUs up more than roughly once every four jiffies (by
584 dynticks-idle checking, thus degrading scheduling latency. 584 default, you can adjust this using the rcutree.rcu_idle_gp_delay
585 parameter), thus improving energy efficiency. On the other
586 hand, this option increases the duration of RCU grace periods,
587 for example, slowing down synchronize_rcu().
585 588
586 Say Y if energy efficiency is critically important, and you don't 589 Say Y if energy efficiency is critically important, and you
587 care about real-time response. 590 don't care about increased grace-period durations.
588 591
589 Say N if you are unsure. 592 Say N if you are unsure.
590 593
@@ -651,7 +654,7 @@ config RCU_BOOST_DELAY
651 Accept the default if unsure. 654 Accept the default if unsure.
652 655
653config RCU_NOCB_CPU 656config RCU_NOCB_CPU
654 bool "Offload RCU callback processing from boot-selected CPUs" 657 bool "Offload RCU callback processing from boot-selected CPUs (EXPERIMENTAL"
655 depends on TREE_RCU || TREE_PREEMPT_RCU 658 depends on TREE_RCU || TREE_PREEMPT_RCU
656 default n 659 default n
657 help 660 help
@@ -662,16 +665,56 @@ config RCU_NOCB_CPU
662 665
663 This option offloads callback invocation from the set of 666 This option offloads callback invocation from the set of
664 CPUs specified at boot time by the rcu_nocbs parameter. 667 CPUs specified at boot time by the rcu_nocbs parameter.
665 For each such CPU, a kthread ("rcuoN") will be created to 668 For each such CPU, a kthread ("rcuox/N") will be created to
666 invoke callbacks, where the "N" is the CPU being offloaded. 669 invoke callbacks, where the "N" is the CPU being offloaded,
667 Nothing prevents this kthread from running on the specified 670 and where the "x" is "b" for RCU-bh, "p" for RCU-preempt, and
668 CPUs, but (1) the kthreads may be preempted between each 671 "s" for RCU-sched. Nothing prevents this kthread from running
669 callback, and (2) affinity or cgroups can be used to force 672 on the specified CPUs, but (1) the kthreads may be preempted
670 the kthreads to run on whatever set of CPUs is desired. 673 between each callback, and (2) affinity or cgroups can be used
671 674 to force the kthreads to run on whatever set of CPUs is desired.
672 Say Y here if you want reduced OS jitter on selected CPUs. 675
676 Say Y here if you want to help to debug reduced OS jitter.
673 Say N here if you are unsure. 677 Say N here if you are unsure.
674 678
679choice
680 prompt "Build-forced no-CBs CPUs"
681 default RCU_NOCB_CPU_NONE
682 help
683 This option allows no-CBs CPUs to be specified at build time.
684 Additional no-CBs CPUs may be specified by the rcu_nocbs=
685 boot parameter.
686
687config RCU_NOCB_CPU_NONE
688 bool "No build_forced no-CBs CPUs"
689 depends on RCU_NOCB_CPU
690 help
691 This option does not force any of the CPUs to be no-CBs CPUs.
692 Only CPUs designated by the rcu_nocbs= boot parameter will be
693 no-CBs CPUs.
694
695config RCU_NOCB_CPU_ZERO
696 bool "CPU 0 is a build_forced no-CBs CPU"
697 depends on RCU_NOCB_CPU
698 help
699 This option forces CPU 0 to be a no-CBs CPU. Additional CPUs
700 may be designated as no-CBs CPUs using the rcu_nocbs= boot
701 parameter will be no-CBs CPUs.
702
703 Select this if CPU 0 needs to be a no-CBs CPU for real-time
704 or energy-efficiency reasons.
705
706config RCU_NOCB_CPU_ALL
707 bool "All CPUs are build_forced no-CBs CPUs"
708 depends on RCU_NOCB_CPU
709 help
710 This option forces all CPUs to be no-CBs CPUs. The rcu_nocbs=
711 boot parameter will be ignored.
712
713 Select this if all CPUs need to be no-CBs CPUs for real-time
714 or energy-efficiency reasons.
715
716endchoice
717
675endmenu # "RCU Subsystem" 718endmenu # "RCU Subsystem"
676 719
677config IKCONFIG 720config IKCONFIG