ckrm_E16
[linux-2.6.git] / init / Kconfig
index 337feb1..12c6ab9 100644 (file)
@@ -85,6 +85,8 @@ 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
@@ -92,7 +94,7 @@ config SYSVIPC
 
 config POSIX_MQUEUE
        bool "POSIX Message Queues"
-       depends on EXPERIMENTAL
+       depends on NET && EXPERIMENTAL
        ---help---
          POSIX variant of message queues is a part of IPC. In POSIX message
          queues every message has a priority which decides about succession
@@ -121,6 +123,112 @@ 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.
 
+menu "Class Based Kernel Resource Management"
+
+config CKRM
+       bool "Class Based Kernel Resource Management Core"
+       depends on EXPERIMENTAL
+       help
+         Class-based Kernel Resource Management is a framework for controlling
+         and monitoring resource allocation of user-defined groups of tasks or
+         incoming socket connections. For more information, please visit
+         http://ckrm.sf.net. 
+
+         If you say Y here, enable the Resource Class File System and atleast
+         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
+         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 
+         initialization.
+
+config CKRM_TYPE_TASKCLASS
+       bool "Class Manager for Task Groups"
+       depends on CKRM
+       help
+         TASKCLASS provides the extensions for CKRM to track task classes
+         This is the base to enable task class based resource control for
+         cpu, memory and disk I/O.
+       
+         Say N if unsure 
+
+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
+         tasks a task class can have.
+       
+         Say N if unsure, Y to use the feature.
+
+config CKRM_RES_BLKIO
+       tristate " Disk I/O Resource Controller"
+       depends on CKRM_TYPE_TASKCLASS && IOSCHED_CFQ
+       default m
+       help
+         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_TYPE_SOCKETCLASS
+       bool "Class Manager for socket groups"
+       depends on CKRM
+       help
+         SOCKET provides the extensions for CKRM to track per socket
+         classes.  This is the base to enable socket based resource 
+         control for inbound connection control, bandwidth control etc.
+       
+         Say N if unsure.  
+
+config CKRM_RES_LISTENAQ
+       tristate "Multiple Accept Queues Resource Manager"
+       depends on CKRM_TYPE_SOCKETCLASS && ACCEPT_QUEUES
+       default m
+       help
+         Provides a  resource controller for CKRM to prioritize inbound
+         connection requests. See inbound control description for
+         "IP: TCP Multiple accept queues support". If you choose that
+         option choose this option to control the queue weights.
+         If unsure, say N.
+
+config CKRM_RBCE
+       tristate "Vanilla Rule-based Classification Engine (RBCE)"
+       depends on CKRM && RCFS_FS
+       default m
+       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.
+
+config CKRM_CRBCE
+       tristate "Enhanced Rule-based Classification Engine (RBCE)"
+       depends on CKRM && RCFS_FS && RELAYFS_FS && DELAY_ACCT
+       default m
+       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). 
+       
+         If unsure, say N.
+
+endmenu
+
 config SYSCTL
        bool "Sysctl support"
        ---help---
@@ -227,6 +335,15 @@ menuconfig EMBEDDED
           environments which can tolerate a "non-standard" kernel.
           Only use this if you really know what you are doing.
 
+config DELAY_ACCT
+       bool "Enable delay accounting (EXPERIMENTAL)"
+       help
+         In addition to counting frequency the total delay in ns is also
+         recorded. CPU delays are specified as cpu-wait and cpu-run. 
+         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
@@ -235,6 +352,17 @@ config KALLSYMS
           symbolic stack backtraces. This increases the size of the kernel
           somewhat, as all symbols have to be loaded into the kernel image.
 
+config KALLSYMS_ALL
+       bool "Include all symbols in kallsyms"
+       depends on DEBUG_KERNEL && KALLSYMS
+       help
+          Normally kallsyms only contains the symbols of functions, for nicer
+          OOPS messages.  Some debuggers can use kallsyms for other
+          symbols too: say Y here to include all symbols, and you
+          don't care about adding 300k to the size of your kernel.
+
+          Say N.
+
 config FUTEX
        bool "Enable futex support" if EMBEDDED
        default y