diff options
Diffstat (limited to 'init')
| -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 |
