]> err.no Git - linux-2.6/blobdiff - init/Kconfig
Add a configure option to group pages by mobility
[linux-2.6] / init / Kconfig
index 1e198b8c69360e447c0b12d705b008d1e032482f..bab643f7717f2a0be9b2b63d7c4d14acdb5a99e5 100644 (file)
@@ -7,7 +7,7 @@ config DEFCONFIG_LIST
        default "/boot/config-$UNAME_RELEASE"
        default "arch/$ARCH/defconfig"
 
        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"
 
 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.
 
          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"
 
 config LOCALVERSION
        string "Local version - append to kernel release"
@@ -209,6 +206,15 @@ config TASK_IO_ACCOUNTING
 
          Say N if unsure.
 
 
          Say N if unsure.
 
+config USER_NS
+       bool "User Namespaces (EXPERIMENTAL)"
+       default n
+       depends on EXPERIMENTAL
+       help
+         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 AUDIT
        bool "Auditing support"
        depends on NET
 config AUDIT
        bool "Auditing support"
        depends on NET
@@ -275,6 +281,27 @@ config CPUSETS
 
          Say N if unsure.
 
 
          Say N if unsure.
 
+config FAIR_GROUP_SCHED
+       bool "Fair group CPU scheduler"
+       default y
+       depends on EXPERIMENTAL
+       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.
+
+endchoice
+
 config SYSFS_DEPRECATED
        bool "Create deprecated sysfs files"
        default y
 config SYSFS_DEPRECATED
        bool "Create deprecated sysfs files"
        default y
@@ -331,7 +358,7 @@ endif
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size (Look out for broken compilers!)"
        default y
 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.
        help
          Enabling this option will pass "-Os" instead of "-O2" to gcc
          resulting in a smaller kernel.
@@ -459,25 +486,19 @@ config FUTEX
          run glibc-based applications correctly.
 
 config ANON_INODES
          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
 
 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
        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
        default y
        help
          Enable the signalfd() system call that allows to receive signals
@@ -487,7 +508,8 @@ config SIGNALFD
 
 config TIMERFD
        bool "Enable timerfd() system call" if EMBEDDED
 
 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
        default y
        help
          Enable the timerfd() system call that allows to receive timer
@@ -497,7 +519,7 @@ config TIMERFD
 
 config EVENTFD
        bool "Enable eventfd() system call" if EMBEDDED
 
 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
        default y
        help
          Enable the eventfd() system call that allows to receive both
@@ -537,7 +559,7 @@ config SLUB_DEBUG
 
 choice
        prompt "Choose SLAB allocator"
 
 choice
        prompt "Choose SLAB allocator"
-       default SLAB
+       default SLUB
        help
           This option allows to select a slab allocator.
 
        help
           This option allows to select a slab allocator.
 
@@ -585,6 +607,19 @@ config BASE_SMALL
        default 0 if BASE_FULL
        default 1 if !BASE_FULL
 
        default 0 if BASE_FULL
        default 1 if !BASE_FULL
 
+config PAGE_GROUP_BY_MOBILITY
+       bool "Group pages based on their mobility in the page allocator"
+       def_bool y
+       help
+         The standard allocator will fragment memory over time which means
+         that high order allocations will fail even if kswapd is running. If
+         this option is set, the allocator will try and group page types
+         based on their ability to migrate or reclaim. This is a best effort
+         attempt at lowering fragmentation which a few workloads care about.
+         The loss is a more complex allocator that may perform slower. If
+         you are interested in working with large pages, say Y and set
+         /proc/sys/vm/min_free_bytes to 16374. Otherwise say N
+
 menuconfig MODULES
        bool "Enable loadable module support"
        help
 menuconfig MODULES
        bool "Enable loadable module support"
        help