[PATCH 0/5] SUBCPUSETS: a resource control functionality usingCPUSETS

From: KUROSAWA Takahiro
Date: Thu Sep 08 2005 - 00:39:30 EST


The following patchset adds resource control functionality to the
CPUSETS code by subdividing a cpuset into smaller pieces (SUBCPUSETS).
It is made up from two parts, one for the resource control framework
and another for the specific resource controller. Resource controllers
can be added by using interfaces provided by the SUBCPUSETS.

For now, it enables us to guarantee the CPU time percentage that tasks
attached to the subcpuset consume. The memory resource controller code
is coming soon.

The patchset is for linux-2.6.13 and consists of 5 patches:
[1/5] Fixes minor problem in the current CPUSETS.
[2/5] Implements resource control framework functionality to the CPUSETS
(SUBCPUSETS).
[3/5] Adds document for SUBCPUSETS.
[4/5] Implements the CPU time resource controller.
[5/5] Puts the CPU time resource controller into SUBCPUSETS.


The following step might be to useful see how this patchset works:

# mount -t cpuset none /dev/cpuset
(mount the cpuset filesystem)
# /bin/echo 1 > /dev/cpuset/subcpuset_top
(declare that the cpuset is the toplevel directory of subcpusets;
you can declare the toplevel directory of subcpusets other than
the root cpuset of course)
# mkdir /dev/cpuset/sub-a
# mkdir /dev/cpuset/sub-b
(create subcpuset directories)
# /bin/echo 20 > /dev/cpuset/sub-a/cpu_guar
(guarantee 20% of the CPU time usage to tasks in the "sub-a" subcpuset)
# /bin/echo 80 > /dev/cpuset/sub-b/cpu_guar
(guarantee 80% of the CPU time usage to tasks in the "sub-b" subcpuset)
# echo $$ > /dev/cpuset/sub-a/tasks
(change the cpuset of the shell to the "sub-a" subcpuset)
# (while true; do true; done)&
(start a CPU consuming process in sub-a subcpuset)
# echo $$ > /dev/cpuset/sub-b/tasks
(change the cpuset of the shell to the "sub-b" subcpuset)
# (while true; do true; done)&
(start a CPU consuming process in sub-b subcpuset)
# top
(see how subcpusets works)


Thanks,

KUROSAWA, Takahiro
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/