diff options
author | Dhaval Giani <dhaval@linux.vnet.ibm.com> | 2008-08-13 19:58:05 +0000 |
---|---|---|
committer | Dhaval Giani <dhaval@linux.vnet.ibm.com> | 2008-08-13 19:58:05 +0000 |
commit | bc1e2f6df728f682d4d09a725a62e02547d833db (patch) | |
tree | b662f1e2623ca270d2eecd5f87a1ccd483e5fda2 /samples | |
parent | 2fa28d8f1be10453f31deb1504ad6b5e017db5b9 (diff) | |
download | libcg-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.conf | 45 |
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 |