nfsd: fix leak on error in nfsv3 readdir
[safe/jmp/linux-2.6] / init / Kconfig
index 95a6613..3f7e609 100644 (file)
@@ -16,6 +16,11 @@ config DEFCONFIG_LIST
        default "$ARCH_DEFCONFIG"
        default "arch/$ARCH/defconfig"
 
        default "$ARCH_DEFCONFIG"
        default "arch/$ARCH/defconfig"
 
+config CONSTRUCTORS
+       bool
+       depends on !UML
+       default y
+
 menu "General setup"
 
 config EXPERIMENTAL
 menu "General setup"
 
 config EXPERIMENTAL
@@ -208,6 +213,12 @@ config POSIX_MQUEUE
 
          If unsure, say Y.
 
 
          If unsure, say Y.
 
+config POSIX_MQUEUE_SYSCTL
+       bool
+       depends on POSIX_MQUEUE
+       depends on SYSCTL
+       default y
+
 config BSD_PROCESS_ACCT
        bool "BSD Process Accounting"
        help
 config BSD_PROCESS_ACCT
        bool "BSD Process Accounting"
        help
@@ -296,13 +307,14 @@ config AUDITSYSCALL
 
 config AUDIT_TREE
        def_bool y
 
 config AUDIT_TREE
        def_bool y
-       depends on AUDITSYSCALL && INOTIFY
+       depends on AUDITSYSCALL
+       select INOTIFY
 
 menu "RCU Subsystem"
 
 choice
        prompt "RCU Implementation"
 
 menu "RCU Subsystem"
 
 choice
        prompt "RCU Implementation"
-       default CLASSIC_RCU
+       default TREE_RCU
 
 config CLASSIC_RCU
        bool "Classic RCU"
 
 config CLASSIC_RCU
        bool "Classic RCU"
@@ -531,7 +543,7 @@ config CGROUP_DEVICE
 
 config CPUSETS
        bool "Cpuset support"
 
 config CPUSETS
        bool "Cpuset support"
-       depends on SMP && CGROUPS
+       depends on CGROUPS
        help
          This option will let you create and manage CPUSETs which
          allow dynamically partitioning a system into sets of CPUs and
        help
          This option will let you create and manage CPUSETs which
          allow dynamically partitioning a system into sets of CPUs and
@@ -565,7 +577,7 @@ config CGROUP_MEM_RES_CTLR
        select MM_OWNER
        help
          Provides a memory resource controller that manages both anonymous
        select MM_OWNER
        help
          Provides a memory resource controller that manages both anonymous
-         memory and page cache. (See Documentation/controllers/memory.txt)
+         memory and page cache. (See Documentation/cgroups/memory.txt)
 
          Note that setting this option increases fixed memory overhead
          associated with each page of memory in the system. By this,
 
          Note that setting this option increases fixed memory overhead
          associated with each page of memory in the system. By this,
@@ -597,6 +609,8 @@ config CGROUP_MEM_RES_CTLR_SWAP
          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.
          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.
+         Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
+         size is 4096bytes, 512k per 1Gbytes of swap.
 
 endif # CGROUPS
 
 
 endif # CGROUPS
 
@@ -607,13 +621,13 @@ config SYSFS_DEPRECATED
        bool
 
 config SYSFS_DEPRECATED_V2
        bool
 
 config SYSFS_DEPRECATED_V2
-       bool "Create deprecated sysfs layout for older userspace tools"
+       bool "remove sysfs features which may confuse old userspace tools"
        depends on SYSFS
        depends on SYSFS
-       default y
+       default n
        select SYSFS_DEPRECATED
        help
          This option switches the layout of sysfs to the deprecated
        select SYSFS_DEPRECATED
        help
          This option switches the layout of sysfs to the deprecated
-         version.
+         version. Do not use it on recent distributions.
 
          The current sysfs layout features a unified device tree at
          /sys/devices/, which is able to express a hierarchy between
 
          The current sysfs layout features a unified device tree at
          /sys/devices/, which is able to express a hierarchy between
@@ -668,10 +682,10 @@ config UTS_NS
 
 config IPC_NS
        bool "IPC namespace"
 
 config IPC_NS
        bool "IPC namespace"
-       depends on NAMESPACES && SYSVIPC
+       depends on NAMESPACES && (SYSVIPC || POSIX_MQUEUE)
        help
          In this namespace tasks work with IPC ids which correspond to
        help
          In this namespace tasks work with IPC ids which correspond to
-         different IPC objects in different namespaces
+         different IPC objects in different namespaces.
 
 config USER_NS
        bool "User namespace (EXPERIMENTAL)"
 
 config USER_NS
        bool "User namespace (EXPERIMENTAL)"
@@ -687,7 +701,7 @@ config PID_NS
        depends on NAMESPACES && EXPERIMENTAL
        help
          Support process id namespaces.  This allows having multiple
        depends on NAMESPACES && EXPERIMENTAL
        help
          Support process id namespaces.  This allows having multiple
-         process with the same pid as long as they are in different
+         processes with the same pid as long as they are in different
          pid namespaces.  This is a building block of containers.
 
          Unless you want to work with an experimental feature
          pid namespaces.  This is a building block of containers.
 
          Unless you want to work with an experimental feature
@@ -735,6 +749,9 @@ config CC_OPTIMIZE_FOR_SIZE
 config SYSCTL
        bool
 
 config SYSCTL
        bool
 
+config ANON_INODES
+       bool
+
 menuconfig EMBEDDED
        bool "Configure standard kernel features (for small systems)"
        help
 menuconfig EMBEDDED
        bool "Configure standard kernel features (for small systems)"
        help
@@ -840,18 +857,6 @@ config PCSPKR_PLATFORM
           This option allows to disable the internal PC-Speaker
           support, saving some memory.
 
           This option allows to disable the internal PC-Speaker
           support, saving some memory.
 
-config COMPAT_BRK
-       bool "Disable heap randomization"
-       default y
-       help
-         Randomizing heap placement makes heap exploits harder, but it
-         also breaks ancient binaries (including anything libc5 based).
-         This option changes the bootup default to heap randomization
-         disabled, and can be overriden runtime by setting
-         /proc/sys/kernel/randomize_va_space to 2.
-
-         On non-ancient distros (post-2000 ones) N is usually a safe choice.
-
 config BASE_FULL
        default y
        bool "Enable full-sized data structures for core" if EMBEDDED
 config BASE_FULL
        default y
        bool "Enable full-sized data structures for core" if EMBEDDED
@@ -869,9 +874,6 @@ config FUTEX
          support for "fast userspace mutexes".  The resulting kernel may not
          run glibc-based applications correctly.
 
          support for "fast userspace mutexes".  The resulting kernel may not
          run glibc-based applications correctly.
 
-config ANON_INODES
-       bool
-
 config EPOLL
        bool "Enable eventpoll support" if EMBEDDED
        default y
 config EPOLL
        bool "Enable eventpoll support" if EMBEDDED
        default y
@@ -929,6 +931,51 @@ config AIO
           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 HAVE_PERF_COUNTERS
+       bool
+       help
+         See tools/perf/design.txt for details.
+
+menu "Performance Counters"
+
+config PERF_COUNTERS
+       bool "Kernel Performance Counters"
+       default y if PROFILING
+       depends on HAVE_PERF_COUNTERS
+       select ANON_INODES
+       help
+         Enable kernel support for performance counter hardware.
+
+         Performance counters are special hardware registers available
+         on most modern CPUs. These registers count the number of certain
+         types of hw events: such as instructions executed, cachemisses
+         suffered, or branches mis-predicted - without slowing down the
+         kernel or applications. These registers can also trigger interrupts
+         when a threshold number of events have passed - and can thus be
+         used to profile the code that runs on that CPU.
+
+         The Linux Performance Counter subsystem provides an abstraction of
+         these hardware capabilities, available via a system call. It
+         provides per task and per CPU counters, and it provides event
+         capabilities on top of those.
+
+         Say Y if unsure.
+
+config EVENT_PROFILE
+       bool "Tracepoint profiling sources"
+       depends on PERF_COUNTERS && EVENT_TRACING
+       default y
+       help
+        Allow the use of tracepoints as software performance counters.
+
+        When this is enabled, you can create perf counters based on
+        tracepoints using PERF_TYPE_TRACEPOINT and the tracepoint ID
+        found in debugfs://tracing/events/*/*/id. (The -e/--events
+        option to the perf tool can parse and interpret symbolic
+        tracepoints, in the subsystem:tracepoint_name format.)
+
+endmenu
+
 config VM_EVENT_COUNTERS
        default y
        bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
 config VM_EVENT_COUNTERS
        default y
        bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
@@ -957,6 +1004,26 @@ config SLUB_DEBUG
          SLUB sysfs support. /sys/slab will not exist and there will be
          no support for cache validation etc.
 
          SLUB sysfs support. /sys/slab will not exist and there will be
          no support for cache validation etc.
 
+config STRIP_ASM_SYMS
+       bool "Strip assembler-generated symbols during link"
+       default n
+       help
+         Strip internal assembler-generated symbols during a link (symbols
+         that look like '.Lxxx') so they don't pollute the output of
+         get_wchan() and suchlike.
+
+config COMPAT_BRK
+       bool "Disable heap randomization"
+       default y
+       help
+         Randomizing heap placement makes heap exploits harder, but it
+         also breaks ancient binaries (including anything libc5 based).
+         This option changes the bootup default to heap randomization
+         disabled, and can be overridden at runtime by setting
+         /proc/sys/kernel/randomize_va_space to 2.
+
+         On non-ancient distros (post-2000 ones) N is usually a safe choice.
+
 choice
        prompt "Choose SLAB allocator"
        default SLUB
 choice
        prompt "Choose SLAB allocator"
        default SLUB
@@ -1005,13 +1072,27 @@ config TRACEPOINTS
 
 config MARKERS
        bool "Activate markers"
 
 config MARKERS
        bool "Activate markers"
-       depends on TRACEPOINTS
+       select TRACEPOINTS
        help
          Place an empty function call at each marker site. Can be
          dynamically changed for a probe function.
 
 source "arch/Kconfig"
 
        help
          Place an empty function call at each marker site. Can be
          dynamically changed for a probe function.
 
 source "arch/Kconfig"
 
+config SLOW_WORK
+       default n
+       bool
+       help
+         The slow work thread pool provides a number of dynamically allocated
+         threads that can be used by the kernel to perform operations that
+         take a relatively long time.
+
+         An example of this would be CacheFiles doing a path lookup followed
+         by a series of mkdirs and a create call, all of which have to touch
+         disk.
+
+         See Documentation/slow-work.txt.
+
 endmenu                # General setup
 
 config HAVE_GENERIC_DMA_COHERENT
 endmenu                # General setup
 
 config HAVE_GENERIC_DMA_COHERENT
@@ -1026,7 +1107,6 @@ config SLABINFO
 
 config RT_MUTEXES
        boolean
 
 config RT_MUTEXES
        boolean
-       select PLIST
 
 config BASE_SMALL
        int
 
 config BASE_SMALL
        int
@@ -1111,7 +1191,7 @@ config INIT_ALL_POSSIBLE
          cpu_possible_map, some of them chose to initialize cpu_possible_map
          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
          cpu_possible_map, some of them chose to initialize cpu_possible_map
          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 persuing me down dark alleys.
+         and have several arch maintainers pursuing me down dark alleys.
 
 config STOP_MACHINE
        bool
 
 config STOP_MACHINE
        bool