[PATCH 3/12] memcg make root cgroup unlimited.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: KAMEZAWA Hiroyuki
Date: Wednesday, September 24, 2008 - 11:15 pm

Make root cgroup of memory resource controller to have no limit.

By this, users cannot set limit to root group. This is for making root cgroup
as a kind of trash-can.

For accounting pages which has no owner, which are created by force_empty,
we need some cgroup with no_limit. A patch for rewriting force_empty will
will follow this one.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>

 Documentation/controllers/memory.txt |    4 ++++
 mm/memcontrol.c                      |    7 +++++++
 2 files changed, 11 insertions(+)

Index: mmotm-2.6.27-rc7+/mm/memcontrol.c
===================================================================
--- mmotm-2.6.27-rc7+.orig/mm/memcontrol.c
+++ mmotm-2.6.27-rc7+/mm/memcontrol.c
@@ -136,6 +136,9 @@ struct mem_cgroup {
 };
 static struct mem_cgroup init_mem_cgroup;
 
+#define is_root_cgroup(cgrp)	((cgrp) == &init_mem_cgroup)
+
+
 /*
  * We use the lower bit of the page->page_cgroup pointer as a bit spin
  * lock.  We need to ensure that page->page_cgroup is at least two
@@ -945,6 +948,10 @@ static int mem_cgroup_write(struct cgrou
 
 	switch (cft->private) {
 	case RES_LIMIT:
+		if (is_root_cgroup(memcg)) {
+			ret = -EINVAL;
+			break;
+		}
 		/* This function does all necessary parse...reuse it */
 		ret = res_counter_memparse_write_strategy(buffer, &val);
 		if (!ret)
Index: mmotm-2.6.27-rc7+/Documentation/controllers/memory.txt
===================================================================
--- mmotm-2.6.27-rc7+.orig/Documentation/controllers/memory.txt
+++ mmotm-2.6.27-rc7+/Documentation/controllers/memory.txt
@@ -121,6 +121,9 @@ The corresponding routines that remove a
 a page from Page Cache is used to decrement the accounting counters of the
 cgroup.
 
+The root cgroup is not allowed to be set limit but usage is accounted.
+For controlling usage of memory, you need to create a cgroup.
+
 2.3 Shared Page Accounting
 
 Shared pages are accounted on the basis of the first touch approach. The
@@ -172,6 +175,7 @@ We can alter the memory limit:
 
 NOTE: We can use a suffix (k, K, m, M, g or G) to indicate values in kilo,
 mega or gigabytes.
+Note: root cgroup is not able to be set limit.
 
 # cat /cgroups/0/memory.limit_in_bytes
 4194304

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:11 pm)
[PATCH 1/12] memcg avoid accounting special mappings not o ..., KAMEZAWA Hiroyuki, (Wed Sep 24, 11:13 pm)
[PATCH 2/12] memcg move charege() call to swapped-in page ..., KAMEZAWA Hiroyuki, (Wed Sep 24, 11:14 pm)
[PATCH 3/12] memcg make root cgroup unlimited., KAMEZAWA Hiroyuki, (Wed Sep 24, 11:15 pm)
[PATCH 4/12] memcg make page-&gt;mapping NULL before calling ..., KAMEZAWA Hiroyuki, (Wed Sep 24, 11:16 pm)
[PATCH 5/12] memcg make page_cgroup-&gt;flags atomic, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:17 pm)
[PATCH 6/12] memcg optimize percpu stat, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:18 pm)
[PATCH 7/12] memcg add function to move account, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:27 pm)
[PATCH 8/12] memcg rewrite force empty to move account to root, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:29 pm)
[PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:32 pm)
[PATCH 10/12] memcg free page_cgroup from LRU in lazy, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:33 pm)
[PATCH 11/12] memcg add to LRU in lazy, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:35 pm)
[PATCH 12/12] memcg: fix race at charging swap-in, KAMEZAWA Hiroyuki, (Wed Sep 24, 11:36 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Dave Hansen, (Thu Sep 25, 11:40 am)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Daisuke Nishimura, (Thu Sep 25, 6:00 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Thu Sep 25, 6:17 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Thu Sep 25, 6:22 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Thu Sep 25, 6:43 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Thu Sep 25, 7:05 pm)
[PATCH(fixed) 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Thu Sep 25, 7:21 pm)
[PATCH(fixed) 10/12] free page cgroup from LRU in lazy, KAMEZAWA Hiroyuki, (Thu Sep 25, 7:25 pm)
[PATCH(fixed) 11/12] free page cgroup from LRU in add, KAMEZAWA Hiroyuki, (Thu Sep 25, 7:28 pm)
Re: [PATCH 0/12] memcg updates v5, Daisuke Nishimura, (Thu Sep 25, 7:32 pm)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Thu Sep 25, 7:58 pm)
Re: [PATCH 0/12] memcg updates v5, Daisuke Nishimura, (Thu Sep 25, 8:00 pm)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Thu Sep 25, 8:04 pm)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Thu Sep 25, 9:05 pm)
Re: [PATCH 0/12] memcg updates v5, Daisuke Nishimura, (Thu Sep 25, 10:24 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Daisuke Nishimura, (Thu Sep 25, 10:54 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Thu Sep 25, 11:54 pm)
Re: [PATCH 7/12] memcg add function to move account, Daisuke Nishimura, (Fri Sep 26, 12:30 am)
Re: [PATCH 0/12] memcg updates v5, Balbir Singh, (Fri Sep 26, 1:18 am)
Re: [PATCH 3/12] memcg make root cgroup unlimited., Balbir Singh, (Fri Sep 26, 1:41 am)
Re: [PATCH 1/12] memcg avoid accounting special mappings n ..., KAMEZAWA Hiroyuki, (Fri Sep 26, 2:17 am)
Re: [PATCH 2/12] memcg move charege() call to swapped-in p ..., KAMEZAWA Hiroyuki, (Fri Sep 26, 2:18 am)
Re: [PATCH 3/12] memcg make root cgroup unlimited., KAMEZAWA Hiroyuki, (Fri Sep 26, 2:21 am)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Fri Sep 26, 2:22 am)
Re: [PATCH 7/12] memcg add function to move account, KAMEZAWA Hiroyuki, (Fri Sep 26, 2:24 am)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Fri Sep 26, 2:28 am)
Re: [PATCH 3/12] memcg make root cgroup unlimited., Balbir Singh, (Fri Sep 26, 2:29 am)
Re: [PATCH 0/12] memcg updates v5, Balbir Singh, (Fri Sep 26, 2:31 am)
Re: [PATCH 6/12] memcg optimize percpu stat, Balbir Singh, (Fri Sep 26, 2:53 am)
Re: [PATCH 1/12] memcg avoid accounting special mappings n ..., KAMEZAWA Hiroyuki, (Fri Sep 26, 2:55 am)
Re: [PATCH 3/12] memcg make root cgroup unlimited., KAMEZAWA Hiroyuki, (Fri Sep 26, 2:59 am)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Fri Sep 26, 3:36 am)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Fri Sep 26, 3:43 am)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Fri Sep 26, 7:53 pm)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Fri Sep 26, 8:19 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Fri Sep 26, 8:25 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Fri Sep 26, 8:47 pm)
Re: [PATCH 5/12] memcg make page_cgroup-&gt;flags atomic, Balbir Singh, (Fri Sep 26, 11:58 pm)
Re: [PATCH 7/12] memcg add function to move account, Balbir Singh, (Sat Sep 27, 12:56 am)
Re: Re: [PATCH 7/12] memcg add function to move account, kamezawa.hiroyu, (Sat Sep 27, 1:35 am)
Re: [PATCH 0/12] memcg updates v5, Balbir Singh, (Sun Sep 28, 8:02 pm)
Re: [PATCH 0/12] memcg updates v5, KAMEZAWA Hiroyuki, (Sun Sep 28, 8:27 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Balbir Singh, (Tue Sep 30, 9:03 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Tue Sep 30, 10:07 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Balbir Singh, (Tue Sep 30, 10:30 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Tue Sep 30, 10:32 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Tue Sep 30, 10:41 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Balbir Singh, (Tue Sep 30, 10:59 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Tue Sep 30, 11:12 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, KAMEZAWA Hiroyuki, (Tue Sep 30, 11:17 pm)
Re: [PATCH 9/12] memcg allocate all page_cgroup at boot, Balbir Singh, (Tue Sep 30, 11:26 pm)