]> Pileus Git - ~andy/linux/blobdiff - init/Kconfig
sit: fix an oops when IFLA_IPTUN_PROTO is not set
[~andy/linux] / init / Kconfig
index 5341d7232c3ac083c2f87c8a3e1098a9c5e8d601..2d9b83104dcf715197f1a84d34b892783ff79fe2 100644 (file)
@@ -302,7 +302,7 @@ choice
 # Kind of a stub config for the pure tick based cputime accounting
 config TICK_CPU_ACCOUNTING
        bool "Simple tick based cputime accounting"
-       depends on !S390
+       depends on !S390 && !NO_HZ_FULL
        help
          This is the basic tick based cputime accounting that maintains
          statistics about user, system and idle time spent on per jiffies
@@ -312,7 +312,7 @@ config TICK_CPU_ACCOUNTING
 
 config VIRT_CPU_ACCOUNTING_NATIVE
        bool "Deterministic task and CPU time accounting"
-       depends on HAVE_VIRT_CPU_ACCOUNTING
+       depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL
        select VIRT_CPU_ACCOUNTING
        help
          Select this option to enable more accurate task and CPU time
@@ -342,7 +342,7 @@ config VIRT_CPU_ACCOUNTING_GEN
 
 config IRQ_TIME_ACCOUNTING
        bool "Fine granularity task level IRQ time accounting"
-       depends on HAVE_IRQ_TIME_ACCOUNTING
+       depends on HAVE_IRQ_TIME_ACCOUNTING && !NO_HZ_FULL
        help
          Select this option to enable fine granularity task irq time
          accounting. This is done by reading a timestamp on each
@@ -431,6 +431,7 @@ choice
 config TREE_RCU
        bool "Tree-based hierarchical RCU"
        depends on !PREEMPT && SMP
+       select IRQ_WORK
        help
          This option selects the RCU implementation that is
          designed for very large SMP system with hundreds or
@@ -505,6 +506,7 @@ config RCU_USER_QS
 config CONTEXT_TRACKING_FORCE
        bool "Force context tracking"
        depends on CONTEXT_TRACKING
+       default CONTEXT_TRACKING
        help
          Probe on user/kernel boundaries by default in order to
          test the features that rely on it such as userspace RCU extended
@@ -575,16 +577,19 @@ config RCU_FANOUT_EXACT
 
 config RCU_FAST_NO_HZ
        bool "Accelerate last non-dyntick-idle CPU's grace periods"
-       depends on NO_HZ && SMP
+       depends on NO_HZ_COMMON && SMP
        default n
        help
-         This option causes RCU to attempt to accelerate grace periods in
-         order to allow CPUs to enter dynticks-idle state more quickly.
-         On the other hand, this option increases the overhead of the
-         dynticks-idle checking, thus degrading scheduling latency.
+         This option permits CPUs to enter dynticks-idle state even if
+         they have RCU callbacks queued, and prevents RCU from waking
+         these CPUs up more than roughly once every four jiffies (by
+         default, you can adjust this using the rcutree.rcu_idle_gp_delay
+         parameter), thus improving energy efficiency.  On the other
+         hand, this option increases the duration of RCU grace periods,
+         for example, slowing down synchronize_rcu().
 
-         Say Y if energy efficiency is critically important, and you don't
-               care about real-time response.
+         Say Y if energy efficiency is critically important, and you
+               don't care about increased grace-period durations.
 
          Say N if you are unsure.
 
@@ -651,7 +656,7 @@ config RCU_BOOST_DELAY
          Accept the default if unsure.
 
 config RCU_NOCB_CPU
-       bool "Offload RCU callback processing from boot-selected CPUs"
+       bool "Offload RCU callback processing from boot-selected CPUs (EXPERIMENTAL"
        depends on TREE_RCU || TREE_PREEMPT_RCU
        default n
        help
@@ -662,16 +667,56 @@ config RCU_NOCB_CPU
 
          This option offloads callback invocation from the set of
          CPUs specified at boot time by the rcu_nocbs parameter.
-         For each such CPU, a kthread ("rcuoN") will be created to
-         invoke callbacks, where the "N" is the CPU being offloaded.
-         Nothing prevents this kthread from running on the specified
-         CPUs, but (1) the kthreads may be preempted between each
-         callback, and (2) affinity or cgroups can be used to force
-         the kthreads to run on whatever set of CPUs is desired.
-
-         Say Y here if you want reduced OS jitter on selected CPUs.
+         For each such CPU, a kthread ("rcuox/N") will be created to
+         invoke callbacks, where the "N" is the CPU being offloaded,
+         and where the "x" is "b" for RCU-bh, "p" for RCU-preempt, and
+         "s" for RCU-sched.  Nothing prevents this kthread from running
+         on the specified CPUs, but (1) the kthreads may be preempted
+         between each callback, and (2) affinity or cgroups can be used
+         to force the kthreads to run on whatever set of CPUs is desired.
+
+         Say Y here if you want to help to debug reduced OS jitter.
          Say N here if you are unsure.
 
+choice
+       prompt "Build-forced no-CBs CPUs"
+       default RCU_NOCB_CPU_NONE
+       help
+         This option allows no-CBs CPUs to be specified at build time.
+         Additional no-CBs CPUs may be specified by the rcu_nocbs=
+         boot parameter.
+
+config RCU_NOCB_CPU_NONE
+       bool "No build_forced no-CBs CPUs"
+       depends on RCU_NOCB_CPU && !NO_HZ_FULL
+       help
+         This option does not force any of the CPUs to be no-CBs CPUs.
+         Only CPUs designated by the rcu_nocbs= boot parameter will be
+         no-CBs CPUs.
+
+config RCU_NOCB_CPU_ZERO
+       bool "CPU 0 is a build_forced no-CBs CPU"
+       depends on RCU_NOCB_CPU && !NO_HZ_FULL
+       help
+         This option forces CPU 0 to be a no-CBs CPU.  Additional CPUs
+         may be designated as no-CBs CPUs using the rcu_nocbs= boot
+         parameter will be no-CBs CPUs.
+
+         Select this if CPU 0 needs to be a no-CBs CPU for real-time
+         or energy-efficiency reasons.
+
+config RCU_NOCB_CPU_ALL
+       bool "All CPUs are build_forced no-CBs CPUs"
+       depends on RCU_NOCB_CPU
+       help
+         This option forces all CPUs to be no-CBs CPUs.  The rcu_nocbs=
+         boot parameter will be ignored.
+
+         Select this if all CPUs need to be no-CBs CPUs for real-time
+         or energy-efficiency reasons.
+
+endchoice
+
 endmenu # "RCU Subsystem"
 
 config IKCONFIG
@@ -1177,6 +1222,35 @@ config SYSCTL
 config ANON_INODES
        bool
 
+config HAVE_UID16
+       bool
+
+config SYSCTL_EXCEPTION_TRACE
+       bool
+       help
+         Enable support for /proc/sys/debug/exception-trace.
+
+config SYSCTL_ARCH_UNALIGN_NO_WARN
+       bool
+       help
+         Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
+         Allows arch to define/use @no_unaligned_warning to possibly warn
+         about unaligned access emulation going on under the hood.
+
+config SYSCTL_ARCH_UNALIGN_ALLOW
+       bool
+       help
+         Enable support for /proc/sys/kernel/unaligned-trap
+         Allows arches to define/use @unaligned_enabled to runtime toggle
+         the unaligned access emulation.
+         see arch/parisc/kernel/unaligned.c for reference
+
+config HOTPLUG
+       def_bool y
+
+config HAVE_PCSPKR_PLATFORM
+       bool
+
 menuconfig EXPERT
        bool "Configure standard kernel features (expert users)"
        # Unhide debug options, to make the on-by-default options visible
@@ -1187,9 +1261,6 @@ menuconfig EXPERT
           environments which can tolerate a "non-standard" kernel.
           Only use this if you really know what you are doing.
 
-config HAVE_UID16
-       bool
-
 config UID16
        bool "Enable 16-bit UID system calls" if EXPERT
        depends on HAVE_UID16
@@ -1214,26 +1285,6 @@ config SYSCTL_SYSCALL
 
          If unsure say N here.
 
-config SYSCTL_EXCEPTION_TRACE
-       bool
-       help
-         Enable support for /proc/sys/debug/exception-trace.
-
-config SYSCTL_ARCH_UNALIGN_NO_WARN
-       bool
-       help
-         Enable support for /proc/sys/kernel/ignore-unaligned-usertrap
-         Allows arch to define/use @no_unaligned_warning to possibly warn
-         about unaligned access emulation going on under the hood.
-
-config SYSCTL_ARCH_UNALIGN_ALLOW
-       bool
-       help
-         Enable support for /proc/sys/kernel/unaligned-trap
-         Allows arches to define/use @unaligned_enabled to runtime toggle
-         the unaligned access emulation.
-         see arch/parisc/kernel/unaligned.c for reference
-
 config KALLSYMS
         bool "Load all symbols for debugging/ksymoops" if EXPERT
         default y
@@ -1259,9 +1310,6 @@ config KALLSYMS_ALL
 
           Say N unless you really need all symbols.
 
-config HOTPLUG
-       def_bool y
-
 config PRINTK
        default y
        bool "Enable support for printk" if EXPERT
@@ -1300,9 +1348,6 @@ config PCSPKR_PLATFORM
           This option allows to disable the internal PC-Speaker
           support, saving some memory.
 
-config HAVE_PCSPKR_PLATFORM
-       bool
-
 config BASE_FULL
        default y
        bool "Enable full-sized data structures for core" if EXPERT
@@ -1374,8 +1419,17 @@ config AIO
        default y
        help
          This option enables POSIX asynchronous I/O which may by used
-          by some high performance threaded applications. Disabling
-          this option saves about 7k.
+         by some high performance threaded applications. Disabling
+         this option saves about 7k.
+
+config PCI_QUIRKS
+       default y
+       bool "Enable PCI quirk workarounds" if EXPERT
+       depends on PCI
+       help
+         This enables workarounds for various PCI chipset
+         bugs/quirks. Disable this only if your target machine is
+         unaffected by PCI quirks.
 
 config EMBEDDED
        bool "Embedded system"
@@ -1450,15 +1504,6 @@ config VM_EVENT_COUNTERS
          on EXPERT systems.  /proc/vmstat will only show page counts
          if VM event counters are disabled.
 
-config PCI_QUIRKS
-       default y
-       bool "Enable PCI quirk workarounds" if EXPERT
-       depends on PCI
-       help
-         This enables workarounds for various PCI chipset
-          bugs/quirks. Disable this only if your target machine is
-          unaffected by PCI quirks.
-
 config SLUB_DEBUG
        default y
        bool "Enable SLUB debugging support" if EXPERT