]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - init/Kconfig
Merge branch 'kbuild/kconfig' into kbuild/for-next
[karo-tx-linux.git] / init / Kconfig
index c7f65b42a04ae8aeb744290e6fa21f7341b35cc7..4a85357120982059f5cd8e07c74105fa70a73641 100644 (file)
@@ -435,6 +435,7 @@ config TASKSTATS
 config TASK_DELAY_ACCT
        bool "Enable per-task delay accounting"
        depends on TASKSTATS
+       select SCHED_INFO
        help
          Collect information on time spent by a task waiting for system
          resources like cpu, synchronous block I/O completion and swapping
@@ -465,13 +466,9 @@ endmenu # "CPU/Task time and stats accounting"
 
 menu "RCU Subsystem"
 
-choice
-       prompt "RCU Implementation"
-       default TREE_RCU
-
 config TREE_RCU
-       bool "Tree-based hierarchical RCU"
-       depends on !PREEMPT && SMP
+       bool
+       default y if !PREEMPT && SMP
        help
          This option selects the RCU implementation that is
          designed for very large SMP system with hundreds or
@@ -479,8 +476,8 @@ config TREE_RCU
          smaller systems.
 
 config PREEMPT_RCU
-       bool "Preemptible tree-based hierarchical RCU"
-       depends on PREEMPT
+       bool
+       default y if PREEMPT
        help
          This option selects the RCU implementation that is
          designed for very large SMP systems with hundreds or
@@ -491,15 +488,28 @@ config PREEMPT_RCU
          Select this option if you are unsure.
 
 config TINY_RCU
-       bool "UP-only small-memory-footprint RCU"
-       depends on !PREEMPT && !SMP
+       bool
+       default y if !PREEMPT && !SMP
        help
          This option selects the RCU implementation that is
          designed for UP systems from which real-time response
          is not required.  This option greatly reduces the
          memory footprint of RCU.
 
-endchoice
+config RCU_EXPERT
+       bool "Make expert-level adjustments to RCU configuration"
+       default n
+       help
+         This option needs to be enabled if you wish to make
+         expert-level adjustments to RCU configuration.  By default,
+         no such adjustments can be made, which has the often-beneficial
+         side-effect of preventing "make oldconfig" from asking you all
+         sorts of detailed questions about how you would like numerous
+         obscure RCU options to be set up.
+
+         Say Y if you need to make expert-level adjustments to RCU.
+
+         Say N if you are unsure.
 
 config SRCU
        bool
@@ -509,7 +519,7 @@ config SRCU
          sections.
 
 config TASKS_RCU
-       bool "Task_based RCU implementation using voluntary context switch"
+       bool
        default n
        select SRCU
        help
@@ -517,8 +527,6 @@ config TASKS_RCU
          only voluntary context switch (not preemption!), idle, and
          user-mode execution as quiescent states.
 
-         If unsure, say N.
-
 config RCU_STALL_COMMON
        def_bool ( TREE_RCU || PREEMPT_RCU || RCU_TRACE )
        help
@@ -531,9 +539,7 @@ config CONTEXT_TRACKING
        bool
 
 config RCU_USER_QS
-       bool "Consider userspace as in RCU extended quiescent state"
-       depends on HAVE_CONTEXT_TRACKING && SMP
-       select CONTEXT_TRACKING
+       bool
        help
          This option sets hooks on kernel / userspace boundaries and
          puts RCU in extended quiescent state when the CPU runs in
@@ -541,12 +547,6 @@ config RCU_USER_QS
          excluded from the global RCU state machine and thus doesn't
          try to keep the timer tick on for RCU.
 
-         Unless you want to hack and help the development of the full
-         dynticks mode, you shouldn't enable this option.  It also
-         adds unnecessary overhead.
-
-         If unsure say N
-
 config CONTEXT_TRACKING_FORCE
        bool "Force context tracking"
        depends on CONTEXT_TRACKING
@@ -578,7 +578,7 @@ config RCU_FANOUT
        int "Tree-based hierarchical RCU fanout value"
        range 2 64 if 64BIT
        range 2 32 if !64BIT
-       depends on TREE_RCU || PREEMPT_RCU
+       depends on (TREE_RCU || PREEMPT_RCU) && RCU_EXPERT
        default 64 if 64BIT
        default 32 if !64BIT
        help
@@ -596,9 +596,9 @@ config RCU_FANOUT
 
 config RCU_FANOUT_LEAF
        int "Tree-based hierarchical RCU leaf-level fanout value"
-       range 2 RCU_FANOUT if 64BIT
-       range 2 RCU_FANOUT if !64BIT
-       depends on TREE_RCU || PREEMPT_RCU
+       range 2 64 if 64BIT
+       range 2 32 if !64BIT
+       depends on (TREE_RCU || PREEMPT_RCU) && RCU_EXPERT
        default 16
        help
          This option controls the leaf-level fanout of hierarchical
@@ -621,23 +621,9 @@ config RCU_FANOUT_LEAF
 
          Take the default if unsure.
 
-config RCU_FANOUT_EXACT
-       bool "Disable tree-based hierarchical RCU auto-balancing"
-       depends on TREE_RCU || PREEMPT_RCU
-       default n
-       help
-         This option forces use of the exact RCU_FANOUT value specified,
-         regardless of imbalances in the hierarchy.  This is useful for
-         testing RCU itself, and might one day be useful on systems with
-         strong NUMA behavior.
-
-         Without RCU_FANOUT_EXACT, the code will balance the hierarchy.
-
-         Say N if unsure.
-
 config RCU_FAST_NO_HZ
        bool "Accelerate last non-dyntick-idle CPU's grace periods"
-       depends on NO_HZ_COMMON && SMP
+       depends on NO_HZ_COMMON && SMP && RCU_EXPERT
        default n
        help
          This option permits CPUs to enter dynticks-idle state even if
@@ -663,7 +649,7 @@ config TREE_RCU_TRACE
 
 config RCU_BOOST
        bool "Enable RCU priority boosting"
-       depends on RT_MUTEXES && PREEMPT_RCU
+       depends on RT_MUTEXES && PREEMPT_RCU && RCU_EXPERT
        default n
        help
          This option boosts the priority of preempted RCU readers that
@@ -680,6 +666,7 @@ config RCU_KTHREAD_PRIO
        range 0 99 if !RCU_BOOST
        default 1 if RCU_BOOST
        default 0 if !RCU_BOOST
+       depends on RCU_EXPERT
        help
          This option specifies the SCHED_FIFO priority value that will be
          assigned to the rcuc/n and rcub/n threads and is also the value
@@ -834,7 +821,7 @@ config IKCONFIG_PROC
 
 config LOG_BUF_SHIFT
        int "Kernel log buffer size (16 => 64KB, 17 => 128KB)"
-       range 12 21
+       range 12 25
        default 17
        depends on PRINTK
        help
@@ -938,6 +925,7 @@ config NUMA_BALANCING_DEFAULT_ENABLED
 menuconfig CGROUPS
        bool "Control Group support"
        select KERNFS
+       select PERCPU_RWSEM
        help
          This option adds support for grouping sets of processes together, for
          use with process control subsystems such as Cpusets, CFS, memory
@@ -1141,10 +1129,16 @@ config DEBUG_BLK_CGROUP
        Enable some debugging help. Currently it exports additional stat
        files in a cgroup which can be useful for debugging.
 
+config CGROUP_WRITEBACK
+       bool
+       depends on MEMCG && BLK_CGROUP
+       default y
+
 endif # CGROUPS
 
 config CHECKPOINT_RESTORE
        bool "Checkpoint/restore support" if EXPERT
+       select PROC_CHILDREN
        default n
        help
          Enables additional kernel features in a sake of checkpoint/restore.
@@ -1708,7 +1702,7 @@ config PERF_EVENTS
 config DEBUG_PERF_USE_VMALLOC
        default n
        bool "Debug: use vmalloc to back perf mmap() buffers"
-       depends on PERF_EVENTS && DEBUG_KERNEL
+       depends on PERF_EVENTS && DEBUG_KERNEL && !PPC
        select PERF_USE_VMALLOC
        help
         Use vmalloc memory to back perf mmap() buffers.
@@ -2021,26 +2015,21 @@ config MODULE_COMPRESS
        bool "Compress modules on installation"
        depends on MODULES
        help
-         This option compresses the kernel modules when 'make
-         modules_install' is run.
 
-         The modules will be compressed either using gzip or xz depend on the
-         choice made in "Compression algorithm".
+         Compresses kernel modules when 'make modules_install' is run; gzip or
+         xz depending on "Compression algorithm" below.
+
+         module-init-tools MAY support gzip, and kmod MAY support gzip and xz.
 
-         module-init-tools has support for gzip format while kmod handle gzip
-         and xz compressed modules.
+         Out-of-tree kernel modules installed using Kbuild will also be
+         compressed upon installation.
 
-         When a kernel module is installed from outside of the main kernel
-         source and uses the Kbuild system for installing modules then that
-         kernel module will also be compressed when it is installed.
+         Note: for modules inside an initrd or initramfs, it's more efficient
+         to compress the whole initrd or initramfs instead.
 
-         This option provides little benefit when the modules are to be used inside
-         an initrd or initramfs, it generally is more efficient to compress the whole
-         initrd or initramfs instead.
+         Note: This is fully compatible with signed modules.
 
-         This is fully compatible with signed modules while the signed module is
-         compressed. module-init-tools or kmod handles decompression and provide to
-         other layer the uncompressed but signed payload.
+         If in doubt, say N.
 
 choice
        prompt "Compression algorithm"
@@ -2062,6 +2051,10 @@ endchoice
 
 endif # MODULES
 
+config MODULES_TREE_LOOKUP
+       def_bool y
+       depends on PERF_EVENTS || TRACING
+
 config INIT_ALL_POSSIBLE
        bool
        help