Re: [RFC][PATCH 7/7] CGroup API: Update cpusets to use cgroupstructured file API

From: Balbir Singh
Date: Mon Feb 18 2008 - 07:00:52 EST


* Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> [2008-02-18 17:23:42]:

> Andreas Schwab wrote:
> > Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> writes:
> >
> >> @@ -238,7 +238,7 @@ rmdir() if there are no tasks.
> >> The type of memory accounted by the cgroup can be limited to just
> >> mapped pages by writing "1" to memory.control_type field
> >>
> >> -echo -n 1 > memory.control_type
> >> +echo > memory.control_type
> >
> > Looks like you stripped too much here.
> >
> > Andreas.
> >
>
Yikes,

The control type feature documentation needs to go away and Li has a patch for
it, so I'll not touch that part. Here's the updated patch. Thanks for catching
this Andreas.

The memory controller has a requirement that while writing values, we need
to use echo -n. This patch fixes the problem and makes the UI more consistent.

Signed-off-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>
---

Documentation/controllers/memory.txt | 6 +++---
kernel/res_counter.c | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)

diff -puN mm/memcontrol.c~memory-controller-fix-crlf-echo-issue mm/memcontrol.c
diff -puN kernel/res_counter.c~memory-controller-fix-crlf-echo-issue kernel/res_counter.c
--- linux-2.6.25-rc2/kernel/res_counter.c~memory-controller-fix-crlf-echo-issue 2008-02-18 16:15:02.000000000 +0530
+++ linux-2.6.25-rc2-balbir/kernel/res_counter.c 2008-02-18 16:16:16.000000000 +0530
@@ -113,6 +113,7 @@ ssize_t res_counter_write(struct res_cou

ret = -EINVAL;

+ strstrip(buf);
if (write_strategy) {
if (write_strategy(buf, &tmp)) {
goto out_free;
diff -puN Documentation/controllers/memory.txt~memory-controller-fix-crlf-echo-issue Documentation/controllers/memory.txt
--- linux-2.6.25-rc2/Documentation/controllers/memory.txt~memory-controller-fix-crlf-echo-issue 2008-02-18 16:18:26.000000000 +0530
+++ linux-2.6.25-rc2-balbir/Documentation/controllers/memory.txt 2008-02-18 17:24:48.000000000 +0530
@@ -164,7 +164,7 @@ c. Enable CONFIG_CGROUP_MEM_CONT

Since now we're in the 0 cgroup,
We can alter the memory limit:
-# echo -n 4M > /cgroups/0/memory.limit_in_bytes
+# echo 4M > /cgroups/0/memory.limit_in_bytes

NOTE: We can use a suffix (k, K, m, M, g or G) to indicate values in kilo,
mega or gigabytes.
@@ -185,7 +185,7 @@ number of factors, such as rounding up t
availability of memory on the system. The user is required to re-read
this file after a write to guarantee the value committed by the kernel.

-# echo -n 1 > memory.limit_in_bytes
+# echo 1 > memory.limit_in_bytes
# cat memory.limit_in_bytes
4096 Bytes

@@ -197,7 +197,7 @@ caches, RSS and Active pages/Inactive pa

The memory.force_empty gives an interface to drop *all* charges by force.

-# echo -n 1 > memory.force_empty
+# echo 1 > memory.force_empty

will drop all charges in cgroup. Currently, this is maintained for test.

_

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/