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
- 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 && 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
- cpu, memory and disk I/O.
-
- 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 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 y
- help
- Use CKRM CPU scheduler instead of Linux Scheduler
-
- 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_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
- 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.
-
-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 RBCE"
- help
- 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 RBCE"
- depends on DELAY_ACCT && RELAYFS_FS
- help
- 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).
-
- Any CE is optional. If unsure, say N.
-
-endchoice
-
-endmenu
-
config SYSCTL
bool "Sysctl support"
---help---