[Devel] Re: Fw: cgroups and dbus
Ian Molton
ian.molton at collabora.co.uk
Tue Dec 22 02:39:02 PST 2009
KAMEZAWA Hiroyuki wrote:
> I'm not sure wheter this kind of moving function from user to kernel
> is welcomed or not..
The aim is to improve dbus performance by avoiding context switching as often.
> It seems what you asked was an example of cgroup.
> Maybe the simplest cgroup in the kernel is CONFIG_CGROUP_CPUACCT.
> (kernel/sched.c) The next one is CGROUP_DEVICE (security/device_cgroup.c)
>
> Documentation under Documentation/cgroups/ is always taken care to be updated.
> If you notice some description is unclear or obsolete, please report it.
I found my problem with the example there,
my machine has no RAM on node 0.
Can I suggest that the example might be better if it uses node 0 ? or had a
note saying that if you have no memory on node 1 that it will fail with:
"/bin/echo: write error: No space left on device" ?
Also it would be a good idea if the example pointed out that the parent to
'sh' is in the cgroup Charlie also.
Heres a patch:
>From e6e430d3c3e865f21dffc75ff090bb283a4f32a0 Mon Sep 17 00:00:00 2001
From: Ian Molton <ian.molton at collabora.co.uk>
Date: Tue, 22 Dec 2009 10:31:20 +0000
Subject: [PATCH] cgroup: Clarify documentation
This patch clarifies the cgroup documentation, giving some info on why
the example given may fail, and a little more detail on its expected behaviour.
Signed-off-by: Ian Molton <ian.molton at collabora.co.uk>
---
Documentation/cgroups/cgroups.txt | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/Documentation/cgroups/cgroups.txt b/Documentation/cgroups/cgroups.txt
index 0b33bfe..8ac8615 100644
--- a/Documentation/cgroups/cgroups.txt
+++ b/Documentation/cgroups/cgroups.txt
@@ -309,7 +309,9 @@ the "cpuset" cgroup subsystem, the steps are something like:
For example, the following sequence of commands will setup a cgroup
named "Charlie", containing just CPUs 2 and 3, and Memory Node 1,
-and then start a subshell 'sh' in that cgroup:
+and then start a subshell 'sh' in that cgroup. Note that if you have no RAM
+on node 1 or dont have 4 CPUs you will want to modify the example
+accordingly:
mount -t cgroup cpuset -ocpuset /dev/cgroup
cd /dev/cgroup
@@ -317,7 +319,12 @@ and then start a subshell 'sh' in that cgroup:
cd Charlie
/bin/echo 2-3 > cpuset.cpus
/bin/echo 1 > cpuset.mems
+ # If you have no RAM on Node 0 the next command will return an error, eg.
+ # write error: No space left on device
/bin/echo $$ > tasks
+ # The current shell is now in cgroup Charlie. You can check this with:
+ cat /proc/self/cgroup
+ # Now launch a subshell which should inherit the cgroup:
sh
# The subshell 'sh' is now running in cgroup Charlie
# The next line should display '/Charlie'
--
1.6.5.7
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list