* Jan Safranek <jsafr...@redhat.com> [2011-04-18 14:59:43]:

> cgconfig.conf man page should describe how to work with named hierarchies,
> including a simple example.
> 
> Signed-off-by: Jan Safranek <jsafr...@redhat.com>
> ---
> 
>  doc/man/cgconfig.conf.5 |   84 
> +++++++++++++++++++++++++++++++++++++++++++----
>  1 files changed, 77 insertions(+), 7 deletions(-)
> 
> diff --git a/doc/man/cgconfig.conf.5 b/doc/man/cgconfig.conf.5
> index 5d0be4b..ee80910 100644
> --- a/doc/man/cgconfig.conf.5
> +++ b/doc/man/cgconfig.conf.5
> @@ -38,7 +38,10 @@ mount {
>  Name of kernel subsystem. List of subsystems supported by kernel
>  can be found in 
>  .I /proc/cgroups
> -file.
> +file. Named hierarchy can be specified as controller
> +\fB"name=<somename>"\fR. Do not forget to use double quotes around
> +this controller name (see examples below).
> +
>  .B Libcgroup
>  merges all subsystems mounted to the same directory (see
>  Example 1) and the directory is mounted only once.
> @@ -87,7 +90,7 @@ The root control group is always created automatically in 
> all hierarchies
>  and it is the base of the group hierarchy. It can be explicitly specified in
>  .B cgconfig.conf
>  file by using '.' as group name. This can be used e.g. to set its 
> permissions,
> -as shown in Example 5.
> +as shown in Example 6.
> 
>  When the parent control group of a subgroup is not specified,
>  then it is created automatically.
> @@ -168,7 +171,7 @@ parameters.
>  .B param value
>  Value, which should be written to the file when the control group is
>  created. Optionally it can be enclosed in double quotes `"', it can
> -contain spaces then.
> +contain spaces and other special characters then.
>  .RE
> 
>  .\"********************************************"
> @@ -208,6 +211,73 @@ The configuration file:
>  mount {
>  .RS
>  cpu = /mnt/cgroups/cpu;
> +"name=scheduler" = /mnt/cgroups/cpu;
> +"name=noctrl" = /mnt/cgroups/noctrl;
> +.RE
> +}
> +
> +group daemons {
> +.RS
> +cpu {
> +.RS
> +cpu.shares = "1000";
> +.RE
> +}
> +.RE
> +}
> +group test {
> +.RS
> +"name=noctrl" {
> +}
> +.RE
> +}
> +.RE
> +.fi
> +creates two hierarchies. One hierarchy named \fBscheduler\fR controlled by 
> cpu
> +subsystem, with group \fBdaemons\fR inside. Second hierarchy is named
> +\fBnoctrl\fR without any controller, with group \fBtest\fR. It corresponds to
> +following operations:
> +.LP
> +.RS
> +.nf
> +mkdir /mnt/cgroups/cpu
> +mount -t cgroup -o cpu,name=scheduler cpu /mnt/cgroups/cpu
> +mount -t cgroup -o none,name=noctrl none /mnt/cgroups/noctrl
> +
> +mkdir /mnt/cgroups/cpu/daemons
> +echo 1000 > /mnt/cgroups/cpu/daemons/www/cpu.shares
> +
> +mkdir /mnt/cgroups/noctrl/tests
> +.fi
> +.RE
> +
> +The
> +.I daemons
> +group is created automatically when its first subgroup is
> +created. All its parameters have the default value and only root can
> +access group's files.
> +.LP

>From here to 

> +Since both
> +.I cpuacct
> +and
> +.I cpu
> +subsystems are mounted to the same directory, all
> +groups are implicitly controlled also by
> +.I cpuacct
> +subsystem, even if there is no
> +.I cpuacct
> +section in any of the groups.
> +.RE

here, This is a little confusing, since it applies to example 1, but appears
after example 2.

> +
> +.SS Example 3
> +.LP
> +The configuration file:
> +.LP
> +.RS
> +.nf
> +mount {
> +.RS
> +cpu = /mnt/cgroups/cpu;
>  cpuacct = /mnt/cgroups/cpu;
>  .RE
>  }
> @@ -306,7 +376,7 @@ subsystem, even if there is no
>  section in any of the groups.
>  .RE
> 
> -.SS Example 3
> +.SS Example 4
>  .LP
>  The configuration file:
> 
> @@ -352,7 +422,7 @@ hierarchy, the second in
>  hierarchy. These two groups have nothing in common and can
>  contain different subgroups and different tasks.
> 
> -.SS Example 4
> +.SS Example 5
>  .LP
> 
>  The configuration file:
> @@ -435,7 +505,7 @@ hierarchy and are not controlled by
>  .I cpuacct
>  subsystem.
> 
> -.SS Example 5
> +.SS Example 6
>  .LP
>  The configuration file:
>  .LP
> @@ -531,7 +601,7 @@ or root can do that.
>  .SS Keep hierarchies separated
>  Having multiple hierarchies is perfectly valid and can be useful
>  in various scenarios. To keeps things clean, do not
> -create one group in multiple hierarchies. Examples 3 and 4 shows,
> +create one group in multiple hierarchies. Examples 4 and 5 show,
>  how unreadable and confusing it can be, especially when reading
>  somebody others configuration file.
> 
> 
> 
> ------------------------------------------------------------------------------
> Benefiting from Server Virtualization: Beyond Initial Workload 
> Consolidation -- Increasing the use of server virtualization is a top
> priority.Virtualization can reduce costs, simplify management, and improve 
> application availability and disaster protection. Learn more about boosting 
> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> _______________________________________________
> Libcg-devel mailing list
> Libcg-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libcg-devel

-- 
        Three Cheers,
        Balbir

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to