2011-03-09 21:11:51

by Eric B Munson

[permalink] [raw]
Subject: [PATCH] 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]>
---
Documentation/cgroups/cgroups.txt | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
index 44b8b7a..6c975a1 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,9 @@ You can attach the current shell task by echoing 0:

# echo 0 > tasks

+Note: To remove a task from a cgroup you must write its PID to the root
+tasks file.
+
2.3 Mounting hierarchies by name
--------------------------------

--
1.7.1


2011-03-09 23:07:22

by Kirill A. Shutemov

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

On Wed, Mar 09, 2011 at 04:09:29PM -0500, Eric B Munson 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]>
> ---
> Documentation/cgroups/cgroups.txt | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
> index 44b8b7a..6c975a1 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,9 @@ You can attach the current shell task by echoing 0:
>
> # echo 0 > tasks
>
> +Note: To remove a task from a cgroup you must write its PID to the root
> +tasks file.
> +

'to tasks file of another cgroup.'?

> 2.3 Mounting hierarchies by name
> --------------------------------
>
> --
> 1.7.1
>
> _______________________________________________
> Containers mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/containers

--
Kirill A. Shutemov

2011-03-09 23:14:01

by Paul Menage

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

On Wed, Mar 9, 2011 at 1:09 PM, Eric B Munson <[email protected]> wrote:
>
> +Note: To remove a task from a cgroup you must write its PID to the root
> +tasks file.
> +

This isn't really accurate - the root cgroup is a cgroup like all the
others. More accurate would be something like:

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.

Paul

2011-03-10 14:46:10

by Mike Heffner

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

On 03/09/2011 06:13 PM, Paul Menage wrote:
> On Wed, Mar 9, 2011 at 1:09 PM, Eric B Munson<[email protected]> wrote:
>>
>> +Note: To remove a task from a cgroup you must write its PID to the root
>> +tasks file.
>> +
>
> This isn't really accurate - the root cgroup is a cgroup like all the
> others. More accurate would be something like:
>
> 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.


If we are updating this documentation, can we include a blurb that
mentions if the 'ns' cgroup is mounted in the hierarchy, moving a
process to a new cgroup can fail?


Mike

2011-03-10 16:59:19

by Eric B Munson

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

On Wed, 09 Mar 2011, Paul Menage wrote:

> On Wed, Mar 9, 2011 at 1:09 PM, Eric B Munson <[email protected]> wrote:
> >
> > +Note: To remove a task from a cgroup you must write its PID to the root
> > +tasks file.
> > +
>
> This isn't really accurate - the root cgroup is a cgroup like all the
> others. More accurate would be something like:
>
> 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.
>
> Paul
>

I am going to lift that for V2.


Attachments:
(No filename) (632.00 B)
signature.asc (490.00 B)
Digital signature
Download all attachments