The complete dir tree is for testcases for resource management testing of linux kernel.
For the test plan please refer to the file testplan.txt

--------------
***WARNING:***
--------------
The cpu controller test creates the cpu controller device as /dev/cpuctl. In
case you already have /dev/cpuctl it may be overwritten. So please rename it
to have a backup of your file.

The cpuset controller also creates the device as /dev/cpuset, so please do the
similar work as above.


FILES DESCRIPTION:

testplan.txt
------------
A brief description of the plan for resource management testing.

test_controllers.sh
-------------------
This is the main script file that starts the test. It first checks if the
controllers are enabled. If not enabled then it will not run the test and
will exit giving warning.

README
------
This file.

cgroup
------
Directory containing the cgroup regression testcases.

cpuctl
------
Directory containing the cpu controller testcases. A similar directory will
be created for any new controller.

memctl
------
Directory containing the memory controller testcases. A similar directory will
be created for any new controller.

cpuset
------
Directory containing the cpuset controller testcases. A similar directory will
be created for any new controller.

libcontrollers
--------------
This directory contains the library for cpucontroller testing.

cpuacct
-----------
Directory containing the cpu accounting controller testcases.

Makefile
--------
The usual Makefile to conduct all the tests.

Before starting compilation this file checks if the kernel is supporting the
cpu controller. If yes it enters lower directory and compiles the source files
otherwise exits warning to user.
Hence the user has to take care of the fact that the test runs or just quiets.
(Your kernel needs to be 2.6.24 onwards with proper config options)

And before starting test cpuset, Please check whether the test system has
4 CPUs and 3 Memory nodes and the kernel version is 2.6.28 or above.

A snapshot of config file options is given below:
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_NS=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
# CONFIG_USER_SCHED is not set
CONFIG_CGROUP_SCHED=y
