Disabled the newly introduced CKRM numtask forkrate code.
[linux-2.6.git] / init / Kconfig
index 7738741..5091195 100644 (file)
@@ -1,4 +1,3 @@
-
 menu "Code maturity level options"
 
 config EXPERIMENTAL
@@ -41,15 +40,6 @@ config CLEAN_COMPILE
 
          If unsure, say Y
 
-config STANDALONE
-       bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
-       default y
-       help
-         Select this option if you don't have magic firmware for drivers that
-         need it.
-
-         If unsure, say Y.
-
 config BROKEN
        bool
        depends on !CLEAN_COMPILE
@@ -60,11 +50,25 @@ config BROKEN_ON_SMP
        depends on BROKEN || !SMP
        default y
 
-endmenu
+config LOCK_KERNEL
+       bool
+       depends on SMP || PREEMPT
+       default y
 
+endmenu
 
 menu "General setup"
 
+config LOCALVERSION
+       string "Local version - append to kernel release"
+       help
+         Append an extra string to the end of your kernel version.
+         This will show up when you type uname, for example.
+         The string you set here will be appended after the contents of
+         any files with a filename matching localversion* in your
+         object and source tree, in that order.  Your total string can
+         be a maximum of 64 characters.
+
 config SWAP
        bool "Support for paging of anonymous memory (swap)"
        depends on MMU
@@ -86,8 +90,6 @@ config SYSVIPC
          you want to run the DOS emulator dosemu under Linux (read the
          DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
          you'll need to say Y here.
-         DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
-         you'll need to say Y here.
 
          You can find documentation about IPC with "info ipc" and also in
          section 6.4 of the Linux Programmer's Guide, available from
@@ -124,6 +126,18 @@ config BSD_PROCESS_ACCT
          up to the user level program to do useful things with this
          information.  This is generally a good idea, so say Y.
 
+config BSD_PROCESS_ACCT_V3
+       bool "BSD Process Accounting version 3 file format"
+       depends on BSD_PROCESS_ACCT
+       default n
+       help
+         If you say Y here, the process accounting information is written
+         in a new file format that also logs the process IDs of each
+         process and it's parent. Note that this file format is incompatible
+         with previous v0/v1/v2 file formats, so you will need updated tools
+         for processing it. A preliminary version of these tools is available
+         at <http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/>.
+
 menu "Class Based Kernel Resource Management"
 
 config CKRM
@@ -139,19 +153,19 @@ config CKRM
          one of the resource controllers below. Say N if you are unsure. 
 
 config RCFS_FS
-       tristate "Resource Class File System (User API)"
-       depends on CKRM
-       help
+       tristate "Resource Class File System (User API)"
+       depends on CKRM
+       help
          RCFS is the filesystem API for CKRM. This separate configuration 
          option is provided only for debugging and will eventually disappear 
          since rcfs will be automounted whenever CKRM is configured. 
 
-          Say N if unsure, Y if you've enabled CKRM, M to debug rcfs 
+         Say N if unsure, Y if you've enabled CKRM, M to debug rcfs 
          initialization.
 
 config CKRM_TYPE_TASKCLASS
        bool "Class Manager for Task Groups"
-       depends on CKRM
+       depends on CKRM && RCFS_FS
        help
          TASKCLASS provides the extensions for CKRM to track task classes
          This is the base to enable task class based resource control for
@@ -159,34 +173,85 @@ config CKRM_TYPE_TASKCLASS
        
          Say N if unsure 
 
+config CKRM_RES_NULL
+       tristate "Null Tasks Resource Manager"
+       depends on CKRM_TYPE_TASKCLASS
+       default m
+
+config CKRM_RES_MEM
+       bool "Class based physical memory controller"
+       default y
+       depends on CKRM
+       help
+         Provide the basic support for collecting physical memory usage
+         information among classes. Say Y if you want to know the memory
+         usage of each class.
+
+config CKRM_TYPE_SOCKETCLASS
+       bool "Class Manager for socket groups"
+       depends on CKRM && RCFS_FS
+       help
+         Provides a Null Resource Controller for CKRM that is purely for
+         demonstration purposes.
+       
+         Say N if unsure, Y to use the feature.
+
+
 config CKRM_RES_NUMTASKS
        tristate "Number of Tasks Resource Manager"
        depends on CKRM_TYPE_TASKCLASS
        default m
        help
-         Provides a Resource Controller for CKRM that allows limiting no of
+         Provides a Resource Controller for CKRM that allows limiting number of
          tasks a task class can have.
        
          Say N if unsure, Y to use the feature.
 
+config CKRM_RES_NUMTASKS_FORKRATE
+       tristate "Number of Tasks Resource Manager for Fork Rate"
+       depends on CKRM_RES_NUMTASKS
+       default y
+       help
+         Provides a Resource Controller for CKRM that allows limiting the rate
+         of tasks a task class can fork per hour.
+       
+         Say N if unsure, Y to use the feature.
+
+
 config CKRM_CPU_SCHEDULE
        bool "CKRM CPU scheduler"
        depends on CKRM_TYPE_TASKCLASS
-       default m
+       default y
        help
          Use CKRM CPU scheduler instead of Linux Scheduler
        
          Say N if unsure, Y to use the feature.
 
-config CKRM_CPU_MONITOR
-       bool "CKRM CPU Resoure Monitor"
-       depends on CKRM_CPU_SCHEDULE
+config CKRM_RES_BLKIO
+       tristate " Disk I/O Resource Controller"
+       depends on CKRM_TYPE_TASKCLASS && IOSCHED_CFQ
        default m
        help
-         Monitor CPU Resource Usage of the classes
+         Provides a resource controller for best-effort block I/O 
+         bandwidth control. The controller attempts this by proportional 
+         servicing of requests in the I/O scheduler. However, seek
+         optimizations and reordering by device drivers/disk controllers may
+         alter the actual bandwidth delivered to a class.
        
          Say N if unsure, Y to use the feature.
 
+config CKRM_CPU_SCHEDULE_AT_BOOT
+       bool "Turn on at boot time"
+       depends on CKRM_CPU_SCHEDULE
+       default n
+       help
+         Enable CKRM CPU Scheduler at boot time. Otherwise
+         it can be turned on dynamically at runtime. If not
+         turned on the default Linux Scheduler behavior 
+         will be obtained.
+
+         Say N if unsure, Y to use this feature
+
 config CKRM_TYPE_SOCKETCLASS
        bool "Class Manager for socket groups"
        depends on CKRM
@@ -209,43 +274,50 @@ config CKRM_RES_LISTENAQ
  
          If unsure, say N.
 
+choice 
+       prompt "Classification Engine"
+       depends on CKRM && RCFS_FS            
+       optional
+       help
+        Select a classification engine (CE) that assists in 
+        automatic classification of kernel objects managed by CKRM when
+        they are created. Without a CE, a user must manually 
+        classify objects into classes. Processes inherit their parent's 
+        classification.
+
+        Only one engine can be built into the kernel though all can be
+        built as modules (only one will load). 
+
+        If unsure, say N.
+
 config CKRM_RBCE
-       tristate "Vanilla Rule-based Classification Engine (RBCE)"
-       depends on CKRM && RCFS_FS
-       default m
+       tristate "Vanilla RBCE"
        help
-         Provides an optional module to support creation of rules for automatic
-         classification of kernel objects. Rules are created/deleted/modified 
-          through an rcfs interface. RBCE is not required for CKRM. 
-         If unsure, say N.
+         Vanilla Rule-based Classification Engine (RBCE). Rules for
+         classifying kernel objects are created/deleted/modified through
+         a RCFS directory using a filesystem interface.
+       
+         Any CE is optional. If unsure, say N.
 
 config CKRM_CRBCE
-       tristate "Enhanced Rule-based Classification Engine (RBCE)"
-       depends on CKRM && RCFS_FS && RELAYFS_FS && DELAY_ACCT
-       default m
+       tristate "Enhanced RBCE"
+       depends on DELAY_ACCT && RELAYFS_FS 
        help
-         Provides an optional module to support creation of rules for automatic
-         classification of kernel objects, just like RBCE above. In addition,
-         CRBCE provides per-process delay data (requires DELAY_ACCT configured)
-         enabled) and makes information on significant kernel events available
-         to userspace tools through relayfs (requires RELAYFS_FS configured). 
+         Enhanced Rule-based Classification Engine (CRBCE). Like the Vanilla
+         RBCE, rules for classifying kernel objects are created, deleted and
+         modified through a RCFS directory using a filesystem interface 
+         (requires CKRM_RCFS configured).
+         In addition, CRBCE provides per-process delay data 
+         (requires DELAY_ACCT configured) and makes information on significant
+         kernel events available to userspace tools through relayfs 
+         (requires RELAYFS_FS configured). 
        
-         If unsure, say N.
+         Any CE is optional. If unsure, say N.
 
-endmenu
+endchoice
 
-config BSD_PROCESS_ACCT_V3
-       bool "BSD Process Accounting version 3 file format"
-       depends on BSD_PROCESS_ACCT
-       default n
-       help
-         If you say Y here, the process accounting information is written
-         in a new file format that also logs the process IDs of each
-         process and it's parent. Note that this file format is incompatible
-         with previous v0/v1/v2 file formats, so you will need updated tools
-         for processing it. A preliminary version of these tools is available
-         at <http://http://www.de.kernel.org/pub/linux/utils/acct/>.
+endmenu
 
 config SYSCTL
        bool "Sysctl support"
@@ -285,7 +357,7 @@ config AUDITSYSCALL
 
 config LOG_BUF_SHIFT
        int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" if DEBUG_KERNEL
-       range 12 20
+       range 12 21
        default 17 if ARCH_S390
        default 16 if X86_NUMAQ || IA64
        default 15 if SMP
@@ -319,6 +391,25 @@ config HOTPLUG
          agent" (/sbin/hotplug) to load modules and set up software needed
          to use devices as you hotplug them.
 
+config KOBJECT_UEVENT
+       bool "Kernel Userspace Events"
+       depends on NET
+       default y
+       help
+         This option enables the kernel userspace event layer, which is a
+         simple mechanism for kernel-to-user communication over a netlink
+         socket.
+         The goal of the kernel userspace events layer is to provide a simple
+         and efficient events system, that notifies userspace about kobject
+         state changes. This will enable applications to just listen for
+         events instead of polling system devices and files.
+         Hotplug events (kobject addition and removal) are also available on
+         the netlink socket in addition to the execution of /sbin/hotplug if
+         CONFIG_HOTPLUG is enabled.
+
+         Say Y, unless you are building a system requiring minimal memory
+         consumption.
+
 config IKCONFIG
        bool "Kernel .config support"
        ---help---
@@ -338,6 +429,22 @@ config IKCONFIG_PROC
          This option enables access to the kernel configuration file
          through /proc/config.gz.
 
+config OOM_PANIC
+       bool "OOM Panic"
+       default y
+       ---help---
+         This option enables panic() to be called when a system is out of
+         memory. This feature along with /proc/sys/kernel/panic allows a
+         different behavior on out-of-memory conditions when the standard
+         behavior (killing processes in an attempt to recover) does not
+         make sense.
+
+         If unsure, say N.
+
+config OOM_KILL
+       bool
+       depends on !OOM_PANIC
+       default y
 
 menuconfig EMBEDDED
        bool "Configure standard kernel features (for small systems)"
@@ -355,7 +462,6 @@ config DELAY_ACCT
          I/O delays are recorded for memory and regular I/O.
          Information is accessible through /proc/<pid>/delay.
 
-
 config KALLSYMS
         bool "Load all symbols for debugging/kksymoops" if EMBEDDED
         default y
@@ -401,8 +507,6 @@ config EPOLL
          Disabling this option will cause the kernel to be built without
          support for epoll family of system calls.
 
-source "drivers/block/Kconfig.iosched"
-
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size"
        default y if ARM || H8300
@@ -416,8 +520,58 @@ config CC_OPTIMIZE_FOR_SIZE
 
          If unsure, say N.
 
+config SHMEM
+       default y
+       bool "Use full shmem filesystem" if EMBEDDED && MMU
+       help
+         The shmem is an internal filesystem used to manage shared memory.
+         It is backed by swap and manages resource limits. It is also exported
+         to userspace as tmpfs if TMPFS is enabled. Disabling this
+         option replaces shmem and tmpfs with the much simpler ramfs code,
+         which may be appropriate on small systems without swap.
+
+config CC_ALIGN_FUNCTIONS
+       int "Function alignment" if EMBEDDED
+       default 0
+       help
+         Align the start of functions to the next power-of-two greater than n,
+         skipping up to n bytes.  For instance, 32 aligns functions
+         to the next 32-byte boundary, but 24 would align to the next
+         32-byte boundary only if this can be done by skipping 23 bytes or less.
+         Zero means use compiler's default.
+
+config CC_ALIGN_LABELS
+       int "Label alignment" if EMBEDDED
+       default 0
+       help
+         Align all branch targets to a power-of-two boundary, skipping
+         up to n bytes like ALIGN_FUNCTIONS.  This option can easily
+         make code slower, because it must insert dummy operations for
+         when the branch target is reached in the usual flow of the code.
+         Zero means use compiler's default.
+
+config CC_ALIGN_LOOPS
+       int "Loop alignment" if EMBEDDED
+       default 0
+       help
+         Align loops to a power-of-two boundary, skipping up to n bytes.
+         Zero means use compiler's default.
+
+config CC_ALIGN_JUMPS
+       int "Jump alignment" if EMBEDDED
+       default 0
+       help
+         Align branch targets to a power-of-two boundary, for branch
+         targets where the targets can only be reached by jumping,
+         skipping up to n bytes like ALIGN_FUNCTIONS.  In this case,
+         no dummy operations need be executed.
+         Zero means use compiler's default.
+
 endmenu                # General setup
 
+config TINY_SHMEM
+       default !SHMEM
+       bool
 
 menu "Loadable module support"
 
@@ -480,9 +634,22 @@ config MODVERSIONS
          make them incompatible with the kernel you are running.  If
          unsure, say N.
 
+config MODULE_SRCVERSION_ALL
+       bool "Source checksum for all modules"
+       depends on MODULES
+       help
+         Modules which contain a MODULE_VERSION get an extra "srcversion"
+         field inserted into their modinfo section, which contains a
+         sum of the source files which made it.  This helps maintainers
+         see exactly which source was used to build a module (since
+         others sometimes change the module source without updating
+         the version).  With this option, such a "srcversion" field
+         will be created for all modules.  If unsure, say N.
+
 config MODULE_SIG
        bool "Module signature verification (EXPERIMENTAL)"
        depends on MODULES && EXPERIMENTAL
+       select CRYPTO
        select CRYPTO_SHA1
        select CRYPTO_SIGNATURE
        help