Update to 3.4-final.
[linux-flexiantxendom0-3.2.10.git] / init / Kconfig
index 9b596d3..06860e8 100644 (file)
@@ -57,7 +57,6 @@ config DEFCONFIG_LIST
 config CONSTRUCTORS
        bool
        depends on !UML
-       default y
 
 config HAVE_IRQ_WORK
        bool
@@ -242,6 +241,15 @@ config KERNEL_LZO
 
 endchoice
 
+config DEFAULT_HOSTNAME
+       string "Default hostname"
+       default "(none)"
+       help
+         This option determines the default system hostname before userspace
+         calls sethostname(2). The kernel traditionally uses "(none)" here,
+         but you may wish to use a different default here to make a minimal
+         system more usable with less configuration.
+
 config SWAP
        bool "Support for paging of anonymous memory (swap)"
        depends on MMU && BLOCK
@@ -385,7 +393,7 @@ config AUDIT
 
 config AUDITSYSCALL
        bool "Enable system-call auditing support"
-       depends on AUDIT && (X86 || PPC || S390 || IA64 || UML || SPARC64 || SUPERH)
+       depends on AUDIT && (X86 || PPC || S390 || IA64 || UML || SPARC64 || SUPERH || ARM)
        default y if SECURITY_SELINUX
        help
          Enable low-overhead system-call auditing infrastructure that
@@ -402,6 +410,20 @@ config AUDIT_TREE
        depends on AUDITSYSCALL
        select FSNOTIFY
 
+config AUDIT_LOGINUID_IMMUTABLE
+       bool "Make audit loginuid immutable"
+       depends on AUDIT
+       help
+         The config option toggles if a task setting its loginuid requires
+         CAP_SYS_AUDITCONTROL or if that task should require no special permissions
+         but should instead only allow setting its loginuid if it was never
+         previously set.  On systems which use systemd or a similar central
+         process to restart login services this should be set to true.  On older
+         systems in which an admin would typically have to directly stop and
+         start processes this should be set to false.  Setting this to true allows
+         one to drop potentially dangerous capabilites from the login tasks,
+         but may not be backwards compatible with older init systems.
+
 source "kernel/irq/Kconfig"
 
 menu "RCU Subsystem"
@@ -421,7 +443,7 @@ config TREE_RCU
 
 config TREE_PREEMPT_RCU
        bool "Preemptible tree-based hierarchical RCU"
-       depends on PREEMPT
+       depends on PREEMPT && SMP
        help
          This option selects the RCU implementation that is
          designed for very large SMP systems with hundreds or
@@ -431,7 +453,7 @@ config TREE_PREEMPT_RCU
 
 config TINY_RCU
        bool "UP-only small-memory-footprint RCU"
-       depends on !SMP
+       depends on !PREEMPT && !SMP
        help
          This option selects the RCU implementation that is
          designed for UP systems from which real-time response
@@ -440,7 +462,7 @@ config TINY_RCU
 
 config TINY_PREEMPT_RCU
        bool "Preemptible UP-only small-memory-footprint RCU"
-       depends on !SMP && PREEMPT
+       depends on PREEMPT && !SMP
        help
          This option selects the RCU implementation that is designed
          for real-time UP systems.  This option greatly reduces the
@@ -454,15 +476,6 @@ config PREEMPT_RCU
          This option enables preemptible-RCU code that is common between
          the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
 
-config RCU_TRACE
-       bool "Enable tracing for RCU"
-       help
-         This option provides tracing in RCU which presents stats
-         in debugfs for debugging RCU implementation.
-
-         Say Y here if you want to enable RCU tracing
-         Say N if you are unsure.
-
 config RCU_FANOUT
        int "Tree-based hierarchical RCU fanout value"
        range 2 64 if 64BIT
@@ -499,14 +512,14 @@ config RCU_FANOUT_EXACT
 
 config RCU_FAST_NO_HZ
        bool "Accelerate last non-dyntick-idle CPU's grace periods"
-       depends on TREE_RCU && NO_HZ && SMP
+       depends on NO_HZ && SMP
        default n
        help
          This option causes RCU to attempt to accelerate grace periods
-         in order to allow the final CPU to enter dynticks-idle state
-         more quickly.  On the other hand, this option increases the
-         overhead of the dynticks-idle checking, particularly on systems
-         with large numbers of CPUs.
+         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, particularly on systems with
+         large numbers of CPUs.
 
          Say Y if energy efficiency is critically important, particularly
                if you have relatively few CPUs.
@@ -523,7 +536,7 @@ config TREE_RCU_TRACE
 
 config RCU_BOOST
        bool "Enable RCU priority boosting"
-       depends on RT_MUTEXES && TINY_PREEMPT_RCU
+       depends on RT_MUTEXES && PREEMPT_RCU
        default n
        help
          This option boosts the priority of preempted RCU readers that
@@ -628,14 +641,6 @@ config CGROUP_DEBUG
 
          Say N if unsure.
 
-config CGROUP_NS
-       bool "Namespace cgroup subsystem"
-       help
-         Provides a simple namespace cgroup subsystem to
-         provide hierarchical naming of sets of namespaces,
-         for instance virtual servers and checkpoint/restart
-         jobs.
-
 config CGROUP_FREEZER
        bool "Freezer cgroup subsystem"
        help
@@ -712,7 +717,7 @@ config CGROUP_MEM_RES_CTLR_SWAP
          be careful about enabling this. When memory resource controller
          is disabled by boot option, this will be automatically disabled and
          there will be no overhead from this. Even when you set this config=y,
-         if boot option "noswapaccount" is set, swap will not be accounted.
+         if boot option "swapaccount=0" is set, swap will not be accounted.
          Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
          size is 4096bytes, 512k per 1Gbytes of swap.
 config CGROUP_MEM_RES_CTLR_SWAP_ENABLED
@@ -727,7 +732,18 @@ config CGROUP_MEM_RES_CTLR_SWAP_ENABLED
          parameter should have this option unselected.
          For those who want to have the feature enabled by default should
          select this option (if, for some reason, they need to disable it
-         then noswapaccount does the trick).
+         then swapaccount=0 does the trick).
+config CGROUP_MEM_RES_CTLR_KMEM
+       bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
+       depends on CGROUP_MEM_RES_CTLR && EXPERIMENTAL
+       default n
+       help
+         The Kernel Memory extension for Memory Resource Controller can limit
+         the amount of memory used by kernel objects in the system. Those are
+         fundamentally different from the entities handled by the standard
+         Memory Controller, which are page-based, and can be swapped. Users of
+         the kmem extension can use it to guarantee that no group of processes
+         will ever exhaust kernel resources alone.
 
 config CGROUP_PERF
        bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
@@ -741,7 +757,6 @@ config CGROUP_PERF
 
 menuconfig CGROUP_SCHED
        bool "Group CPU scheduler"
-       depends on EXPERIMENTAL
        default !KERNEL_DESKTOP
        help
          This feature lets CPU scheduler recognize task groups and control CPU
@@ -754,6 +769,18 @@ config FAIR_GROUP_SCHED
        depends on CGROUP_SCHED
        default CGROUP_SCHED
 
+config CFS_BANDWIDTH
+       bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
+       depends on EXPERIMENTAL
+       depends on FAIR_GROUP_SCHED
+       default n
+       help
+         This option allows users to define CPU bandwidth rates (limits) for
+         tasks running within the fair group scheduler.  Groups with no limit
+         set are considered to be unconstrained and will run with no
+         restriction.
+         See tip/Documentation/scheduler/sched-bwc.txt for more information.
+
 config RT_GROUP_SCHED
        bool "Group scheduling for SCHED_RR/FIFO"
        depends on EXPERIMENTAL
@@ -800,6 +827,17 @@ config DEBUG_BLK_CGROUP
 
 endif # CGROUPS
 
+config CHECKPOINT_RESTORE
+       bool "Checkpoint/restore support" if EXPERT
+       default n
+       help
+         Enables additional kernel features in a sake of checkpoint/restore.
+         In particular it adds auxiliary prctl codes to setup process text,
+         data and heap segment sizes, and a few additional /proc filesystem
+         entries.
+
+         If unsure, say N here.
+
 menuconfig NAMESPACES
        bool "Namespaces support" if EXPERT
        default !EXPERT
@@ -942,7 +980,6 @@ endif
 
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size"
-       default y
        help
          Enabling this option will pass "-Os" instead of "-O2" to gcc
          resulting in a smaller kernel.
@@ -957,6 +994,8 @@ config ANON_INODES
 
 menuconfig EXPERT
        bool "Configure standard kernel features (expert users)"
+       # Unhide debug options, to make the on-by-default options visible
+       select DEBUG_KERNEL
        help
          This option allows certain base kernel options and settings
           to be disabled or tweaked. This is for specialized
@@ -973,7 +1012,7 @@ config UID16
 config SYSCTL_SYSCALL
        bool "Sysctl syscall support" if EXPERT
        depends on PROC_SYSCTL
-       default y
+       default n
        select SYSCTL
        ---help---
          sys_sysctl uses binary paths that have been found challenging
@@ -985,7 +1024,7 @@ config SYSCTL_SYSCALL
          trying to save some space it is probably safe to disable this,
          making your kernel marginally smaller.
 
-         If unsure say Y here.
+         If unsure say N here.
 
 config KALLSYMS
         bool "Load all symbols for debugging/ksymoops" if EXPERT
@@ -999,24 +1038,18 @@ config KALLSYMS_ALL
        bool "Include all symbols in kallsyms"
        depends on DEBUG_KERNEL && KALLSYMS
        help
-          Normally kallsyms only contains the symbols of functions, for nicer
-          OOPS messages.  Some debuggers can use kallsyms for other
-          symbols too: say Y here to include all symbols, if you need them 
-          and you don't care about adding 300k to the size of your kernel.
+          Normally kallsyms only contains the symbols of functions for nicer
+          OOPS messages and backtraces (i.e., symbols from the text and inittext
+          sections). This is sufficient for most cases. And only in very rare
+          cases (e.g., when a debugger is used) all symbols are required (e.g.,
+          names of variables from the data sections, etc).
 
-          Say N.
-
-config KALLSYMS_EXTRA_PASS
-       bool "Do an extra kallsyms pass"
-       depends on KALLSYMS
-       help
-          If kallsyms is not working correctly, the build will fail with
-          inconsistent kallsyms data.  If that occurs, log a bug report and
-          turn on KALLSYMS_EXTRA_PASS which should result in a stable build.
-          Always say N here unless you find a bug in kallsyms, which must be
-          reported.  KALLSYMS_EXTRA_PASS is only a temporary workaround while
-          you wait for kallsyms to be fixed.
+          This option makes sure that all symbols are loaded into the kernel
+          image (i.e., symbols from all sections) in cost of increased kernel
+          size (depending on the kernel configuration, it may be 300KiB or
+          something like this).
 
+          Say N unless you really need all symbols.
 
 config HOTPLUG
        bool "Support for hot-pluggable devices" if EXPERT
@@ -1053,14 +1086,19 @@ config ELF_CORE
        help
          Enable support for generating core dumps. Disabling saves about 4k.
 
+
 config PCSPKR_PLATFORM
        bool "Enable PC-Speaker support" if EXPERT
-       depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
+       depends on HAVE_PCSPKR_PLATFORM
+       select I8253_LOCK
        default y
        help
           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
@@ -1265,7 +1303,6 @@ config SLAB
          per cpu and per node queues.
 
 config SLUB
-       depends on BROKEN || NUMA || !DISCONTIGMEM
        bool "SLUB (Unqueued Allocator)"
        help
           SLUB is a slab allocator that minimizes cache line usage
@@ -1307,23 +1344,6 @@ config MMAP_ALLOW_UNINITIALIZED
 
          See Documentation/nommu-mmap.txt for more information.
 
-config DEFAULT_VM_DIRTY_RATIO
-       int "Default VM dirty ratio (in %)"
-       default 20 if KERNEL_DESKTOP
-       default 40
-       help
-         Allows to tune VM dirty ratio to suit different workloads. Increased
-         VM dirty ratio improves performance of most server workloads that
-         dirties a lot of memory (e.g. simple databases not using direct IO,
-         workloads doing heavy writes). The latency-sensitive workloads like
-         desktop and typical workstations perform better with a decreased
-         VM dirty ratio.
-
-         Recommended value for desktop workload is 20.
-         Recommended value for server workload is 40.
-
-         Only use this if you really know what you are doing.
-
 config PROFILING
        bool "Profiling support"
        help
@@ -1433,8 +1453,8 @@ endif # MODULES
 config INIT_ALL_POSSIBLE
        bool
        help
-         Back when each arch used to define their own cpu_online_map and
-         cpu_possible_map, some of them chose to initialize cpu_possible_map
+         Back when each arch used to define their own cpu_online_mask and
+         cpu_possible_mask, some of them chose to initialize cpu_possible_mask
          with all 1s, and others with all 0s.  When they were centralised,
          it was better to provide this option than to break all the archs
          and have several arch maintainers pursuing me down dark alleys.