Unify /proc/slabinfo configuration
[safe/jmp/linux-2.6] / init / Kconfig
index a9e99f8..b9d11a8 100644 (file)
@@ -7,7 +7,7 @@ config DEFCONFIG_LIST
        default "/boot/config-$UNAME_RELEASE"
        default "arch/$ARCH/defconfig"
 
-menu "Code maturity level options"
+menu "General setup"
 
 config EXPERIMENTAL
        bool "Prompt for development and/or incomplete code/drivers"
@@ -61,9 +61,6 @@ config INIT_ENV_ARG_LIMIT
          Maximum of each of the number of arguments and environment
          variables passed to init from the kernel command line.
 
-endmenu
-
-menu "General setup"
 
 config LOCALVERSION
        string "Local version - append to kernel release"
@@ -120,15 +117,6 @@ config SYSVIPC
          section 6.4 of the Linux Programmer's Guide, available from
          <http://www.tldp.org/guides.html>.
 
-config IPC_NS
-       bool "IPC Namespaces"
-       depends on SYSVIPC
-       default n
-       help
-         Support ipc namespaces.  This allows containers, i.e. virtual
-         environments, to use ipc namespaces to provide different ipc
-         objects for different servers.  If unsure, say N.
-
 config SYSVIPC_SYSCTL
        bool
        depends on SYSVIPC
@@ -218,13 +206,26 @@ config TASK_IO_ACCOUNTING
 
          Say N if unsure.
 
-config UTS_NS
-       bool "UTS Namespaces"
+config USER_NS
+       bool "User Namespaces (EXPERIMENTAL)"
        default n
+       depends on EXPERIMENTAL
        help
-         Support uts namespaces.  This allows containers, i.e.
-         vservers, to use uts namespaces to provide different
-         uts info for different servers.  If unsure, say N.
+         Support user namespaces.  This allows containers, i.e.
+         vservers, to use user namespaces to provide different
+         user info for different servers.  If unsure, say N.
+
+config PID_NS
+       bool "PID Namespaces (EXPERIMENTAL)"
+       default n
+       depends on EXPERIMENTAL
+       help
+         Suport process id namespaces.  This allows having multiple
+         process 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
+         say N here.
 
 config AUDIT
        bool "Auditing support"
@@ -245,6 +246,10 @@ config AUDITSYSCALL
          such as SELinux.  To use audit's filesystem watch feature, please
          ensure that INOTIFY is configured.
 
+config AUDIT_TREE
+       def_bool y
+       depends on AUDITSYSCALL && INOTIFY
+
 config IKCONFIG
        tristate "Kernel .config support"
        ---help---
@@ -281,9 +286,36 @@ config LOG_BUF_SHIFT
                     13 =>  8 KB
                     12 =>  4 KB
 
+config CGROUPS
+       bool "Control Group support"
+       help
+         This option will let you use process cgroup subsystems
+         such as Cpusets
+
+         Say N if unsure.
+
+config CGROUP_DEBUG
+       bool "Example debug cgroup subsystem"
+       depends on CGROUPS
+       help
+         This option enables a simple cgroup subsystem that
+         exports useful debugging information about the cgroups
+         framework
+
+         Say N if unsure
+
+config CGROUP_NS
+        bool "Namespace cgroup subsystem"
+        depends on CGROUPS
+        help
+          Provides a simple namespace cgroup subsystem to
+          provide hierarchical naming of sets of namespaces,
+          for instance virtual servers and checkpoint/restart
+          jobs.
+
 config CPUSETS
        bool "Cpuset support"
-       depends on SMP
+       depends on SMP && CGROUPS
        help
          This option will let you create and manage CPUSETs which
          allow dynamically partitioning a system into sets of CPUs and
@@ -292,6 +324,43 @@ config CPUSETS
 
          Say N if unsure.
 
+config FAIR_GROUP_SCHED
+       bool "Fair group CPU scheduler"
+       default y
+       help
+         This feature lets CPU scheduler recognize task groups and control CPU
+         bandwidth allocation to such task groups.
+
+choice
+       depends on FAIR_GROUP_SCHED
+       prompt "Basis for grouping tasks"
+       default FAIR_USER_SCHED
+
+config FAIR_USER_SCHED
+       bool "user id"
+       help
+         This option will choose userid as the basis for grouping
+         tasks, thus providing equal CPU bandwidth to each user.
+
+config FAIR_CGROUP_SCHED
+       bool "Control groups"
+       depends on CGROUPS
+       help
+         This option allows you to create arbitrary task groups
+         using the "cgroup" pseudo filesystem and control
+         the cpu bandwidth allocated to each such task group.
+         Refer to Documentation/cgroups.txt for more information
+         on "cgroup" pseudo filesystem.
+
+endchoice
+
+config CGROUP_CPUACCT
+       bool "Simple CPU accounting cgroup subsystem"
+       depends on CGROUPS
+       help
+         Provides a simple Resource Controller for monitoring the
+         total CPU consumed by the tasks in a cgroup
+
 config SYSFS_DEPRECATED
        bool "Create deprecated sysfs files"
        default y
@@ -312,6 +381,11 @@ config SYSFS_DEPRECATED
          If you are using a distro that was released in 2006 or later,
          it should be safe to say N here.
 
+config PROC_PID_CPUSET
+       bool "Include legacy /proc/<pid>/cpuset file"
+       depends on CPUSETS
+       default y
+
 config RELAY
        bool "Kernel->user space relay support (formerly relayfs)"
        help
@@ -348,7 +422,7 @@ endif
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size (Look out for broken compilers!)"
        default y
-       depends on ARM || H8300 || EXPERIMENTAL
+       depends on ARM || H8300 || SUPERH || EXPERIMENTAL
        help
          Enabling this option will pass "-Os" instead of "-O2" to gcc
          resulting in a smaller kernel.
@@ -371,7 +445,7 @@ menuconfig EMBEDDED
 
 config UID16
        bool "Enable 16-bit UID system calls" if EMBEDDED
-       depends on ARM || BFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION)
+       depends on ARM || BLACKFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION)
        default y
        help
          This enables the legacy 16-bit UID syscall wrappers.
@@ -476,25 +550,19 @@ config FUTEX
          run glibc-based applications correctly.
 
 config ANON_INODES
-       bool "Enable anonymous inode source" if EMBEDDED
-       default y
-       help
-         Anonymous inode source for pseudo-files like epoll, signalfd,
-         timerfd and eventfd.
-
-         If unsure, say Y.
+       bool
 
 config EPOLL
        bool "Enable eventpoll support" if EMBEDDED
        default y
-       depends on ANON_INODES
+       select ANON_INODES
        help
          Disabling this option will cause the kernel to be built without
          support for epoll family of system calls.
 
 config SIGNALFD
        bool "Enable signalfd() system call" if EMBEDDED
-       depends on ANON_INODES
+       select ANON_INODES
        default y
        help
          Enable the signalfd() system call that allows to receive signals
@@ -504,7 +572,8 @@ config SIGNALFD
 
 config TIMERFD
        bool "Enable timerfd() system call" if EMBEDDED
-       depends on ANON_INODES
+       select ANON_INODES
+       depends on BROKEN
        default y
        help
          Enable the timerfd() system call that allows to receive timer
@@ -514,7 +583,7 @@ config TIMERFD
 
 config EVENTFD
        bool "Enable eventfd() system call" if EMBEDDED
-       depends on ANON_INODES
+       select ANON_INODES
        default y
        help
          Enable the eventfd() system call that allows to receive both
@@ -554,7 +623,7 @@ config SLUB_DEBUG
 
 choice
        prompt "Choose SLAB allocator"
-       default SLAB
+       default SLUB
        help
           This option allows to select a slab allocator.
 
@@ -576,7 +645,7 @@ config SLUB
           and has enhanced diagnostics.
 
 config SLOB
-       depends on EMBEDDED && !SPARSEMEM
+       depends on EMBEDDED
        bool "SLOB (Simple Allocator)"
        help
           SLOB replaces the SLAB allocator with a drastically simpler
@@ -589,6 +658,12 @@ endchoice
 
 endmenu                # General setup
 
+config SLABINFO
+       bool
+       depends on PROC_FS
+       depends on SLAB || SLUB
+       default y
+
 config RT_MUTEXES
        boolean
        select PLIST
@@ -602,9 +677,7 @@ config BASE_SMALL
        default 0 if BASE_FULL
        default 1 if !BASE_FULL
 
-menu "Loadable module support"
-
-config MODULES
+menuconfig MODULES
        bool "Enable loadable module support"
        help
          Kernel modules are small pieces of compiled code which can
@@ -684,8 +757,8 @@ config STOP_MACHINE
        depends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPU
        help
          Need stop_machine() primitive.
-endmenu
 
-menu "Block layer"
 source "block/Kconfig"
-endmenu
+
+config PREEMPT_NOTIFIERS
+       bool