2011-03-10 17:07:55

by Eric B Munson

[permalink] [raw]
Subject: [PATCH V2] Documentation: cgroups: Add notes on removing PIDs from tasks and cgroups requiring setup

The cgroup documentation does not specify how a process can be removed from a
particular group. This patch adds a note at the end of the simple example
about how this is done. Also, some cgroups (like cpusets) require user input
before a new group can be used. This is noted in the patch as well.

Signed-off-by: Eric B Munson <[email protected]>
---
Changes from V1:
Rework the note about removing a process from a cgroup
Add note about ns cgroup causing failure when moving processes between groups

Documentation/cgroups/cgroups.txt | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
index 44b8b7a..cbdfb7d 100644
--- a/Documentation/cgroups/cgroups.txt
+++ b/Documentation/cgroups/cgroups.txt
@@ -349,6 +349,10 @@ To mount a cgroup hierarchy with all available subsystems, type:
The "xxx" is not interpreted by the cgroup code, but will appear in
/proc/mounts so may be any useful identifying string that you like.

+Note: Some subsystems do not work without some user input first. For instance,
+if cpusets are enabled the user will have to populate the cpus and mems files
+for each new cgroup created before that group can be used.
+
To mount a cgroup hierarchy with just the cpuset and memory
subsystems, type:
# mount -t cgroup -o cpuset,memory hier1 /dev/cgroup
@@ -426,6 +430,14 @@ You can attach the current shell task by echoing 0:

# echo 0 > tasks

+Note: Since every task is always a member of exactly one cgroup in each
+mounted hierarchy, to remove a task from its current cgroup you must
+move it into a new cgroup (possibly the root cgroup) by writing to the
+new cgroup's tasks file.
+
+Note: If the ns cgroup is active, moving a process to another cgroup can
+fail.
+
2.3 Mounting hierarchies by name
--------------------------------

--
1.7.1


2011-03-11 03:00:34

by Paul Menage

[permalink] [raw]
Subject: Re: [PATCH V2] Documentation: cgroups: Add notes on removing PIDs from tasks and cgroups requiring setup

On Thu, Mar 10, 2011 at 9:07 AM, Eric B Munson <[email protected]> wrote:
> The cgroup documentation does not specify how a process can be removed from a
> particular group. ?This patch adds a note at the end of the simple example
> about how this is done. ?Also, some cgroups (like cpusets) require user input
> before a new group can be used. ?This is noted in the patch as well.
>
> Signed-off-by: Eric B Munson <[email protected]>

Acked-by: Paul Menage <[email protected]>

> ---
> Changes from V1:
> ?Rework the note about removing a process from a cgroup
> ?Add note about ns cgroup causing failure when moving processes between groups
>
> ?Documentation/cgroups/cgroups.txt | ? 12 ++++++++++++
> ?1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
> index 44b8b7a..cbdfb7d 100644
> --- a/Documentation/cgroups/cgroups.txt
> +++ b/Documentation/cgroups/cgroups.txt
> @@ -349,6 +349,10 @@ To mount a cgroup hierarchy with all available subsystems, type:
> ?The "xxx" is not interpreted by the cgroup code, but will appear in
> ?/proc/mounts so may be any useful identifying string that you like.
>
> +Note: Some subsystems do not work without some user input first. ?For instance,
> +if cpusets are enabled the user will have to populate the cpus and mems files
> +for each new cgroup created before that group can be used.
> +
> ?To mount a cgroup hierarchy with just the cpuset and memory
> ?subsystems, type:
> ?# mount -t cgroup -o cpuset,memory hier1 /dev/cgroup
> @@ -426,6 +430,14 @@ You can attach the current shell task by echoing 0:
>
> ?# echo 0 > tasks
>
> +Note: Since every task is always a member of exactly one cgroup in each
> +mounted hierarchy, to remove a task from its current cgroup you must
> +move it into a new cgroup (possibly the root cgroup) by writing to the
> +new cgroup's tasks file.
> +
> +Note: If the ns cgroup is active, moving a process to another cgroup can
> +fail.
> +
> ?2.3 Mounting hierarchies by name
> ?--------------------------------
>
> --
> 1.7.1
>
>

2011-03-11 18:23:36

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH V2] Documentation: cgroups: Add notes on removing PIDs from tasks and cgroups requiring setup

On Thu, 10 Mar 2011 19:00:09 -0800 Paul Menage wrote:

> On Thu, Mar 10, 2011 at 9:07 AM, Eric B Munson <[email protected]> wrote:
> > The cgroup documentation does not specify how a process can be removed from a
> > particular group. ?This patch adds a note at the end of the simple example
> > about how this is done. ?Also, some cgroups (like cpusets) require user input
> > before a new group can be used. ?This is noted in the patch as well.
> >
> > Signed-off-by: Eric B Munson <[email protected]>
>
> Acked-by: Paul Menage <[email protected]>

Applied to my documentation patch queue. Thanks.


> > ---
> > Changes from V1:
> > ?Rework the note about removing a process from a cgroup
> > ?Add note about ns cgroup causing failure when moving processes between groups
> >
> > ?Documentation/cgroups/cgroups.txt | ? 12 ++++++++++++
> > ?1 files changed, 12 insertions(+), 0 deletions(-)
> >
> > diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
> > index 44b8b7a..cbdfb7d 100644
> > --- a/Documentation/cgroups/cgroups.txt
> > +++ b/Documentation/cgroups/cgroups.txt
> > @@ -349,6 +349,10 @@ To mount a cgroup hierarchy with all available subsystems, type:
> > ?The "xxx" is not interpreted by the cgroup code, but will appear in
> > ?/proc/mounts so may be any useful identifying string that you like.
> >
> > +Note: Some subsystems do not work without some user input first. ?For instance,
> > +if cpusets are enabled the user will have to populate the cpus and mems files
> > +for each new cgroup created before that group can be used.
> > +
> > ?To mount a cgroup hierarchy with just the cpuset and memory
> > ?subsystems, type:
> > ?# mount -t cgroup -o cpuset,memory hier1 /dev/cgroup
> > @@ -426,6 +430,14 @@ You can attach the current shell task by echoing 0:
> >
> > ?# echo 0 > tasks
> >
> > +Note: Since every task is always a member of exactly one cgroup in each
> > +mounted hierarchy, to remove a task from its current cgroup you must
> > +move it into a new cgroup (possibly the root cgroup) by writing to the
> > +new cgroup's tasks file.
> > +
> > +Note: If the ns cgroup is active, moving a process to another cgroup can
> > +fail.
> > +
> > ?2.3 Mounting hierarchies by name
> > ?--------------------------------
> >
> > --
> > 1.7.1


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***