diff options
author | Ingo Molnar <mingo@kernel.org> | 2013-04-10 06:55:49 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-04-10 06:55:49 -0400 |
commit | 8fcfae31719c0a6c03f2cf63f815b46d378d8be4 (patch) | |
tree | 3da9d65885de6a2b046fbd5eebc0d19def0c1e2c /init/Kconfig | |
parent | d02a9a89db3437467de45a451739e520877f4a48 (diff) | |
parent | 6d87669357936bffa1e8fea7a4e7743e76905736 (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/Kconfig | 73 |
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 | ||
653 | config RCU_NOCB_CPU | 656 | config 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 | ||
679 | choice | ||
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 | |||
687 | config 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 | |||
695 | config 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 | |||
706 | config 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 | |||
716 | endchoice | ||
717 | |||
675 | endmenu # "RCU Subsystem" | 718 | endmenu # "RCU Subsystem" |
676 | 719 | ||
677 | config IKCONFIG | 720 | config IKCONFIG |