Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm...
[~shefty/rdma-dev.git] / init / Kconfig
index b2de5ed..0a5e80f 100644 (file)
@@ -20,12 +20,8 @@ config CONSTRUCTORS
        bool
        depends on !UML
 
-config HAVE_IRQ_WORK
-       bool
-
 config IRQ_WORK
        bool
-       depends on HAVE_IRQ_WORK
 
 config BUILDTIME_EXTABLE_SORT
        bool
@@ -33,35 +29,8 @@ config BUILDTIME_EXTABLE_SORT
 menu "General setup"
 
 config EXPERIMENTAL
-       bool "Prompt for development and/or incomplete code/drivers"
-       ---help---
-         Some of the various things that Linux supports (such as network
-         drivers, file systems, network protocols, etc.) can be in a state
-         of development where the functionality, stability, or the level of
-         testing is not yet high enough for general use. This is usually
-         known as the "alpha-test" phase among developers. If a feature is
-         currently in alpha-test, then the developers usually discourage
-         uninformed widespread use of this feature by the general public to
-         avoid "Why doesn't this work?" type mail messages. However, active
-         testing and use of these systems is welcomed. Just be aware that it
-         may not meet the normal level of reliability or it may fail to work
-         in some special cases. Detailed bug reports from people familiar
-         with the kernel internals are usually welcomed by the developers
-         (before submitting bug reports, please read the documents
-         <file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
-         <file:Documentation/BUG-HUNTING>, and
-         <file:Documentation/oops-tracing.txt> in the kernel source).
-
-         This option will also make obsoleted drivers available. These are
-         drivers that have been replaced by something else, and/or are
-         scheduled to be removed in a future kernel release.
-
-         Unless you intend to help test and develop a feature or driver that
-         falls into this category, or you have a situation that requires
-         using these features, you should probably say N here, which will
-         cause the configurator to present you with fewer choices. If
-         you say Y here, you will be offered the choice of using features or
-         drivers that are currently considered to be in the alpha-test phase.
+       bool
+       default y
 
 config BROKEN
        bool
@@ -247,7 +216,7 @@ config SYSVIPC_SYSCTL
 
 config POSIX_MQUEUE
        bool "POSIX Message Queues"
-       depends on NET && EXPERIMENTAL
+       depends on NET
        ---help---
          POSIX variant of message queues is a part of IPC. In POSIX message
          queues every message has a priority which decides about succession
@@ -326,10 +295,13 @@ source "kernel/time/Kconfig"
 
 menu "CPU/Task time and stats accounting"
 
+config VIRT_CPU_ACCOUNTING
+       bool
+
 choice
        prompt "Cputime accounting"
        default TICK_CPU_ACCOUNTING if !PPC64
-       default VIRT_CPU_ACCOUNTING if PPC64
+       default VIRT_CPU_ACCOUNTING_NATIVE if PPC64
 
 # Kind of a stub config for the pure tick based cputime accounting
 config TICK_CPU_ACCOUNTING
@@ -342,9 +314,10 @@ config TICK_CPU_ACCOUNTING
 
          If unsure, say Y.
 
-config VIRT_CPU_ACCOUNTING
+config VIRT_CPU_ACCOUNTING_NATIVE
        bool "Deterministic task and CPU time accounting"
        depends on HAVE_VIRT_CPU_ACCOUNTING
+       select VIRT_CPU_ACCOUNTING
        help
          Select this option to enable more accurate task and CPU time
          accounting.  This is done by reading a CPU counter on each
@@ -354,6 +327,23 @@ config VIRT_CPU_ACCOUNTING
          this also enables accounting of stolen time on logically-partitioned
          systems.
 
+config VIRT_CPU_ACCOUNTING_GEN
+       bool "Full dynticks CPU time accounting"
+       depends on HAVE_CONTEXT_TRACKING && 64BIT
+       select VIRT_CPU_ACCOUNTING
+       select CONTEXT_TRACKING
+       help
+         Select this option to enable task and CPU time accounting on full
+         dynticks systems. This accounting is implemented by watching every
+         kernel-user boundaries using the context tracking subsystem.
+         The accounting is thus performed at the expense of some significant
+         overhead.
+
+         For now this is only useful if you are working on the full
+         dynticks subsystem development.
+
+         If unsure, say N.
+
 config IRQ_TIME_ACCOUNTING
        bool "Fine granularity task level IRQ time accounting"
        depends on HAVE_IRQ_TIME_ACCOUNTING
@@ -393,7 +383,7 @@ config BSD_PROCESS_ACCT_V3
          at <http://www.gnu.org/software/acct/>.
 
 config TASKSTATS
-       bool "Export task/process statistics through netlink (EXPERIMENTAL)"
+       bool "Export task/process statistics through netlink"
        depends on NET
        default n
        help
@@ -406,7 +396,7 @@ config TASKSTATS
          Say N if unsure.
 
 config TASK_DELAY_ACCT
-       bool "Enable per-task delay accounting (EXPERIMENTAL)"
+       bool "Enable per-task delay accounting"
        depends on TASKSTATS
        help
          Collect information on time spent by a task waiting for system
@@ -417,7 +407,7 @@ config TASK_DELAY_ACCT
          Say N if unsure.
 
 config TASK_XACCT
-       bool "Enable extended accounting over taskstats (EXPERIMENTAL)"
+       bool "Enable extended accounting over taskstats"
        depends on TASKSTATS
        help
          Collect extended task accounting data and send the data
@@ -426,7 +416,7 @@ config TASK_XACCT
          Say N if unsure.
 
 config TASK_IO_ACCOUNTING
-       bool "Enable per-task storage I/O accounting (EXPERIMENTAL)"
+       bool "Enable per-task storage I/O accounting"
        depends on TASK_XACCT
        help
          Collect information on the number of bytes of storage I/O which this
@@ -453,7 +443,7 @@ config TREE_RCU
 
 config TREE_PREEMPT_RCU
        bool "Preemptible tree-based hierarchical RCU"
-       depends on PREEMPT && SMP
+       depends on PREEMPT
        help
          This option selects the RCU implementation that is
          designed for very large SMP systems with hundreds or
@@ -461,6 +451,8 @@ config TREE_PREEMPT_RCU
          is also required.  It also scales down nicely to
          smaller systems.
 
+         Select this option if you are unsure.
+
 config TINY_RCU
        bool "UP-only small-memory-footprint RCU"
        depends on !PREEMPT && !SMP
@@ -486,6 +478,14 @@ config PREEMPT_RCU
          This option enables preemptible-RCU code that is common between
          the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
 
+config RCU_STALL_COMMON
+       def_bool ( TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE )
+       help
+         This option enables RCU CPU stall code that is common between
+         the TINY and TREE variants of RCU.  The purpose is to allow
+         the tiny variants to disable RCU CPU stall warnings, while
+         making these warnings mandatory for the tree variants.
+
 config CONTEXT_TRACKING
        bool
 
@@ -880,8 +880,8 @@ config MEMCG_SWAP_ENABLED
          select this option (if, for some reason, they need to disable it
          then swapaccount=0 does the trick).
 config MEMCG_KMEM
-       bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
-       depends on MEMCG && EXPERIMENTAL
+       bool "Memory Resource Controller Kernel Memory accounting"
+       depends on MEMCG
        depends on SLUB || SLAB
        help
          The Kernel Memory extension for Memory Resource Controller can limit
@@ -893,7 +893,7 @@ config MEMCG_KMEM
 
 config CGROUP_HUGETLB
        bool "HugeTLB Resource Controller for Control Groups"
-       depends on RESOURCE_COUNTERS && HUGETLB_PAGE && EXPERIMENTAL
+       depends on RESOURCE_COUNTERS && HUGETLB_PAGE
        default n
        help
          Provides a cgroup Resource Controller for HugeTLB pages.
@@ -932,7 +932,6 @@ config FAIR_GROUP_SCHED
 
 config CFS_BANDWIDTH
        bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
-       depends on EXPERIMENTAL
        depends on FAIR_GROUP_SCHED
        default n
        help
@@ -944,7 +943,6 @@ config CFS_BANDWIDTH
 
 config RT_GROUP_SCHED
        bool "Group scheduling for SCHED_RR/FIFO"
-       depends on EXPERIMENTAL
        depends on CGROUP_SCHED
        default n
        help
@@ -1026,8 +1024,7 @@ config IPC_NS
          different IPC objects in different namespaces.
 
 config USER_NS
-       bool "User namespace (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       bool "User namespace"
        depends on UIDGID_CONVERTED
        select UIDGID_STRICT_TYPE_CHECKS
 
@@ -1176,7 +1173,7 @@ config CC_OPTIMIZE_FOR_SIZE
          Enabling this option will pass "-Os" instead of "-O2" to gcc
          resulting in a smaller kernel.
 
-         If unsure, say Y.
+         If unsure, say N.
 
 config SYSCTL
        bool
@@ -1226,6 +1223,13 @@ config SYSCTL_EXCEPTION_TRACE
        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 KALLSYMS
         bool "Load all symbols for debugging/ksymoops" if EXPERT
         default y
@@ -1257,6 +1261,7 @@ config HOTPLUG
 config PRINTK
        default y
        bool "Enable support for printk" if EXPERT
+       select IRQ_WORK
        help
          This option enables normal printk support. Removing it
          eliminates most of the message strings from the kernel image
@@ -1602,7 +1607,7 @@ config MODULE_UNLOAD
 
 config MODULE_FORCE_UNLOAD
        bool "Forced module unloading"
-       depends on MODULE_UNLOAD && EXPERIMENTAL
+       depends on MODULE_UNLOAD
        help
          This option allows you to force a module to unload, even if the
          kernel believes it is unsafe: the kernel will remove the module
@@ -1659,6 +1664,17 @@ config MODULE_SIG_FORCE
          Reject unsigned modules or signed modules for which we don't have a
          key.  Without this, such modules will simply taint the kernel.
 
+config MODULE_SIG_ALL
+       bool "Automatically sign all modules"
+       default y
+       depends on MODULE_SIG
+       help
+         Sign all modules during make modules_install. Without this option,
+         modules must be signed manually, using the scripts/sign-file tool.
+
+comment "Do not forget to sign required modules with scripts/sign-file"
+       depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL
+
 choice
        prompt "Which hash algorithm should modules be signed with?"
        depends on MODULE_SIG
@@ -1691,6 +1707,15 @@ config MODULE_SIG_SHA512
 
 endchoice
 
+config MODULE_SIG_HASH
+       string
+       depends on MODULE_SIG
+       default "sha1" if MODULE_SIG_SHA1
+       default "sha224" if MODULE_SIG_SHA224
+       default "sha256" if MODULE_SIG_SHA256
+       default "sha384" if MODULE_SIG_SHA384
+       default "sha512" if MODULE_SIG_SHA512
+
 endif # MODULES
 
 config INIT_ALL_POSSIBLE