linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"menage@google.com" <menage@google.com>,
	"balbir@linux.vnet.ibm.com" <balbir@linux.vnet.ibm.com>,
	"xemul@openvz.org" <xemul@openvz.org>,
	"yamamoto@valinux.co.jp" <yamamoto@valinux.co.jp>,
	"nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>,
	"lizf@cn.fujitsu.com" <lizf@cn.fujitsu.com>
Subject: Re: [PATCH 6/6] memcg: HARDWALL hierarchy
Date: Mon, 23 Jun 2008 15:29:41 -0700	[thread overview]
Message-ID: <20080623152941.1283ecce.randy.dunlap@oracle.com> (raw)
In-Reply-To: <20080613183741.5e2f7fda.kamezawa.hiroyu@jp.fujitsu.com>

On Fri, 13 Jun 2008 18:37:41 +0900 KAMEZAWA Hiroyuki wrote:

> Support hardwall hierarchy (and no-hierarchy) in memcg.
> 
> Change log: v3->v4
>  - cut out from memcg hierarchy patch set v4.
>  - no major changes, but some amount of functions are moved to res_counter.
>    and be more gneric.
> 
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> 
> ---
>  Documentation/controllers/memory.txt |   57 +++++++++++++++++++++++++++++-
>  mm/memcontrol.c                      |   65 +++++++++++++++++++++++++++++++++--
>  2 files changed, 118 insertions(+), 4 deletions(-)
> 
> Index: linux-2.6.26-rc5-mm3/Documentation/controllers/memory.txt
> ===================================================================
> --- linux-2.6.26-rc5-mm3.orig/Documentation/controllers/memory.txt
> +++ linux-2.6.26-rc5-mm3/Documentation/controllers/memory.txt
> @@ -154,7 +154,7 @@ The memory controller uses the following
>  
>  0. Configuration

I apologize if you have already corrected these.  I'm a bit behind
on doc reviews.


> -a. Enable CONFIG_CGROUPS
> +a. Enable CONFESS_CGROUPS

Really?  Looks odd and backwards.

>  b. Enable CONFIG_RESOURCE_COUNTERS
>  c. Enable CONFIG_CGROUP_MEM_RES_CTLR
>  
> @@ -237,7 +237,58 @@ cgroup might have some charge associated
>  tasks have migrated away from it. Such charges are automatically dropped at
>  rmdir() if there are no tasks.
>  
> -5. TODO
> +5. Supported Hierarchy Model
> +
> +Currently, memory controller supports following models of hierarchy in the
> +kernel. (see also resource_counter.txt)
> +
> +2 files are related to hierarchy.
> + - memory.hierarchy_model
> + - memory.for_children
> +
> +Basic Rule.
> +  - Hierarchy can be set per cgroup.
> +  - A child inherits parent's hierarchy model at creation.
> +  - A child can change its hierarchy only when the parent's hierarchy is
> +    NO_HIERARCY and it has no children.

       NO_HIERARCHY

> +
> +
> +5.1. NO_HIERARCHY
> +  - Each cgroup is independent from other ones.
> +  - When memory.hierarchy_model is 0, NO_HIERARCHY is used.
> +    Under this model, there is no controls based on tree of cgroups.

	                 there are no controls

> +    This is the default model of root cgroup.
> +
> +5.2 HARDWALL_HIERARCHY
> +  - A child is a isolated portion of the parent.

               is an

> +  - When memory.hierarchy_model is 1, HARDWALL_HIERARCHY is used.
> +    In this model a child's limit is charged as parent's usage.
> +
> +  Hard-Wall Hierarchy Example)

Drop ')'.

> +  1) Assume a cgroup with 1GB limits. (and no tasks belongs to this, now)
> +     - group_A limit=1G,usage=0M.

	                  , usage=0M.

> +
> +  2) create group B, C under A.
> +     - group A limit=1G, usage=0M, for_childre=0M

	                              for_children=0M

> +          - group B limit=0M, usage=0M.
> +          - group C limit=0M, usage=0M.
> +
> +  3) increase group B's limit to 300M.
> +     - group A limit=1G, usage=300M, for_children=300M
> +          - group B limit=300M, usage=0M.
> +          - group C limit=0M, usage=0M.
> +
> +  4) increase group C's limit to 500M
> +     - group A limit=1G, usage=800M, for_children=800M
> +          - group B limit=300M, usage=0M.
> +          - group C limit=500M, usage=0M.
> +
> +  5) reduce group B's limit to 100M
> +     - group A limit=1G, usage=600M, for_children=600M.
> +          - group B limit=100M, usage=0M.
> +          - group C limit=500M, usage=0M.


---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-06-23 22:29 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-13  9:27 [PATCH 0/6] memcg: hierarchy updates (v4) KAMEZAWA Hiroyuki
2008-06-13  9:29 ` [PATCH 1/6] res_counter: handle limit change KAMEZAWA Hiroyuki
2008-06-16  6:38   ` Pavel Emelyanov
2008-06-16  7:39   ` kamezawa.hiroyu
2008-06-16  7:51     ` Pavel Emelyanov
2008-06-16  8:17     ` kamezawa.hiroyu
2008-06-16  8:23       ` Pavel Emelyanov
2008-06-16  8:32       ` kamezawa.hiroyu
2008-06-16  8:47         ` Pavel Emelyanov
2008-06-16  9:01         ` kamezawa.hiroyu
2008-06-16  8:53     ` kamezawa.hiroyu
2008-06-16  9:00       ` Pavel Emelyanov
2008-06-16  8:57   ` Balbir Singh
2008-06-16  8:59     ` Pavel Emelyanov
2008-06-16  9:04   ` kamezawa.hiroyu
2008-06-16 12:29     ` Balbir Singh
2008-06-16 13:26     ` kamezawa.hiroyu
2008-06-20  5:09   ` Paul Menage
2008-06-23 22:40   ` Randy Dunlap
2008-06-13  9:30 ` [PATCH 2/6] memcg: " KAMEZAWA Hiroyuki
2008-06-13  9:31 ` [PATCH 3/6] memcg: reset limit at rmdir KAMEZAWA Hiroyuki
2008-06-13  9:34 ` [PATCH 4/6] res_counter: basic hierarchy support KAMEZAWA Hiroyuki
2008-06-23 22:37   ` Randy Dunlap
2008-06-13  9:36 ` [PATCH 5/6] res_counter: HARDWALL hierarchy KAMEZAWA Hiroyuki
2008-06-13  9:37 ` [PATCH 6/6] memcg: " KAMEZAWA Hiroyuki
2008-06-23 22:29   ` Randy Dunlap [this message]
2008-06-24  3:37     ` KAMEZAWA Hiroyuki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080623152941.1283ecce.randy.dunlap@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=menage@google.com \
    --cc=nishimura@mxp.nes.nec.co.jp \
    --cc=xemul@openvz.org \
    --cc=yamamoto@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox