summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorDhaval Giani <dhaval@linux.vnet.ibm.com>2008-08-13 19:58:05 +0000
committerDhaval Giani <dhaval@linux.vnet.ibm.com>2008-08-13 19:58:05 +0000
commitbc1e2f6df728f682d4d09a725a62e02547d833db (patch)
treeb662f1e2623ca270d2eecd5f87a1ccd483e5fda2 /samples
parent2fa28d8f1be10453f31deb1504ad6b5e017db5b9 (diff)
downloadlibcg-bc1e2f6df728f682d4d09a725a62e02547d833db.tar.gz
libcg-bc1e2f6df728f682d4d09a725a62e02547d833db.tar.xz
libcg-bc1e2f6df728f682d4d09a725a62e02547d833db.zip
libcgroup: New API interfaces for task placement
From: Vivek Goyal <vgoyal@redhat.com> Enhancement to libcg to do following. - Parse the /etc/cgrules.conf file and place the task in the right cgroup. - Exported two APIs which can place the task based on /etc/cgrules.conf or based on cgroup explicitly specified by the caller. - There can be multiple users. - PAM module (pam_cgroup) - cgexec tool - cgclassify tool - APIs can be directly used by other cgroup aware user progarams. - Classification daemon Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@136 4f4bb910-9a46-0410-90c8-c897d4f1cd53
Diffstat (limited to 'samples')
-rw-r--r--samples/cgrules.conf45
1 files changed, 45 insertions, 0 deletions
diff --git a/samples/cgrules.conf b/samples/cgrules.conf
new file mode 100644
index 0000000..1844633
--- /dev/null
+++ b/samples/cgrules.conf
@@ -0,0 +1,45 @@
+# /etc/cgrules.conf
+#
+#Each line describes a rule for a user in the form:
+#
+#<user> <controllers> <destination>
+#
+#Where:
+#<user> can be:
+# - an user name
+# - a group name, with @group syntax
+# - the wildcard *, for any user or group.
+# - The %, which is equivalent to "ditto". This is useful for
+# multiline rules where different cgroups need to be specified
+# for various hierarchies for a single user.
+#
+# <controller> can be:
+# - comma separated controller names (no spaces)
+# - * (for all mounted controllers)
+#
+# <destination> can be:
+# - path with-in the controller hierarchy (ex. pgrp1/gid1/uid1)
+#
+# Note:
+# - It currently has rules only based on uids and gids.
+#
+# - Don't put overlapping rules. First rule which matches the criteria
+# will be executed.
+#
+# - Multiline rules can be specified for specifying different cgroups
+# for multiple hierarchies. In the example below, user "peter" has
+# specified 2 line rule. First line says put peter's task in test1/
+# dir for "cpu" controller and second line says put peter's tasks in
+# test2/ dir for memory controller. Make a note of "%" sign in second line.
+# This is an indication that it is continuation of previous rule.
+#
+#
+#<user> <controllers> <destination>
+#
+#john cpu usergroup/faculty/john/
+#@student cpu,memory usergroup/student/
+#peter cpu test1/
+#% memory test2/
+#@root * admingroup/
+#* * default/
+# End of file