linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: David Rientjes <rientjes@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
	linux-mm@kvack.org
Subject: Re: [patch] memcg: add oom killer delay
Date: Tue, 8 Feb 2011 11:20:41 +0900	[thread overview]
Message-ID: <20110208112041.a9986f09.kamezawa.hiroyu@jp.fujitsu.com> (raw)
In-Reply-To: <20110208111351.93c6d048.kamezawa.hiroyu@jp.fujitsu.com>

On Tue, 8 Feb 2011 11:13:51 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:

> On Mon, 7 Feb 2011 18:13:22 -0800 (PST)
> David Rientjes <rientjes@google.com> wrote:
> 
> > On Tue, 8 Feb 2011, KAMEZAWA Hiroyuki wrote:
> > 
> > > > +static int mem_cgroup_oom_delay_millisecs_write(struct cgroup *cgrp,
> > > > +					struct cftype *cft, u64 val)
> > > > +{
> > > > +	struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);
> > > > +	struct mem_cgroup *iter;
> > > > +
> > > > +	if (val > MAX_SCHEDULE_TIMEOUT)
> > > > +		return -EINVAL;
> > > > +
> > > > +	for_each_mem_cgroup_tree(iter, memcg) {
> > > > +		iter->oom_delay = msecs_to_jiffies(val);
> > > > +		memcg_oom_recover(iter);
> > > > +	}
> > > > +	return 0;
> > > 
> > > Seems nicer and it seems you tries to update all children cgroups.
> > > 
> > > BTW, with above code, with following heirarchy,
> > > 
> > >     A
> > >    /
> > >   B  
> > >  /
> > > C
> > > 
> > > When a user set oom_delay in order as A->B->C, A,B,C can have 'different' numbers.
> > > When a user set oom_delay in order as C->B->A, A,B,C will have the same numbers.
> > > 
> > > This intreface seems magical, or broken.
> > > 
> > 
> > It's not really magical, it just means that if you change the delay for a 
> > memcg that you do so for all of its children implicitly as well.
> > 
> But you didn't explain the bahavior in Documenation.
> 
And write this fact:

     A
    /
   B
  /
 C

When 
  A.memory_oom_delay=1sec. 
  B.memory_oom_delay=500msec
  C.memory_oom_delay=200msec

If there are OOM in group C, C's oom_kill will be delayed for 200msec and
a task in group C will be killed. 

If there are OOM in group B, B's oom_kill will be delayed for 200msec and
a task in group B or C will be killed.

If there are OOM in group A, A's oom_kill will be delayed for 1sec and
a task in group A,B or C will be killed.

oom_killer in the hierarchy is serialized by lock and happens one-by-one
for avoiding a serial kill. So, above delay can be stacked. 

Thanks,
-Kame





--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-02-08  2:26 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-08  0:24 David Rientjes
2011-02-08  1:55 ` KAMEZAWA Hiroyuki
2011-02-08  2:13   ` David Rientjes
2011-02-08  2:13     ` KAMEZAWA Hiroyuki
2011-02-08  2:20       ` KAMEZAWA Hiroyuki [this message]
2011-02-08  2:37         ` David Rientjes
2011-02-08 10:25           ` Balbir Singh
2011-02-09 22:19 ` David Rientjes
2011-02-10  0:04   ` KAMEZAWA Hiroyuki
2011-02-16  3:15     ` David Rientjes
2011-02-20 22:19       ` David Rientjes
2011-02-23 23:08   ` Andrew Morton
2011-02-24  0:13     ` KAMEZAWA Hiroyuki
2011-02-24  0:51     ` David Rientjes
2011-03-03 20:11       ` David Rientjes
2011-03-03 21:52       ` Andrew Morton
2011-03-08  0:12         ` David Rientjes
2011-03-08  0:29           ` Andrew Morton
2011-03-08  0:36             ` David Rientjes
2011-03-08  0:51               ` Andrew Morton
2011-03-08  1:02                 ` David Rientjes
2011-03-08  1:18                   ` Andrew Morton
2011-03-08  1:33                     ` David Rientjes
2011-03-08  2:51                       ` KAMEZAWA Hiroyuki
2011-03-08  3:07                         ` David Rientjes
2011-03-08  3:13                           ` KAMEZAWA Hiroyuki
2011-03-08  3:56                             ` David Rientjes
2011-03-08  4:17                               ` KAMEZAWA Hiroyuki
2011-03-08  5:30                                 ` David Rientjes
2011-03-08  5:49                                   ` KAMEZAWA Hiroyuki
2011-03-08 23:49                                     ` David Rientjes
2011-03-09  6:04                                       ` KAMEZAWA Hiroyuki
2011-03-09  6:44                                         ` David Rientjes
2011-03-09  7:16                                           ` KAMEZAWA Hiroyuki
2011-03-09 21:12                                             ` David Rientjes
2011-03-09 21:27                                               ` [patch] memcg: give current access to memory reserves if it's trying to die David Rientjes
2011-03-09 23:30                                                 ` KAMEZAWA Hiroyuki
2011-03-17 23:37                                                   ` David Rientjes
2011-03-17 23:53                                                 ` Andrew Morton
2011-03-18  4:35                                                   ` KAMEZAWA Hiroyuki
2011-03-18  5:17                                                     ` Andrew Morton
2011-03-18  5:58                                                       ` KAMEZAWA Hiroyuki
2011-03-18 20:36                                                       ` David Rientjes
2011-03-18 20:32                                                   ` David Rientjes
2011-03-08  3:06                     ` [patch] memcg: add oom killer delay KAMEZAWA Hiroyuki
  -- strict thread matches above, loose matches on Subject: below --
2010-12-22  7:27 David Rientjes
2010-12-22  7:59 ` Andrew Morton
2010-12-22  8:17   ` KAMEZAWA Hiroyuki
2010-12-22  8:31     ` KOSAKI Motohiro
2010-12-22  8:48     ` David Rientjes
2010-12-22  8:48       ` KAMEZAWA Hiroyuki
2010-12-22  8:55         ` KAMEZAWA Hiroyuki
2010-12-22  9:21           ` David Rientjes
2010-12-27  1:47             ` KAMEZAWA Hiroyuki
2010-12-22  9:04         ` David Rientjes
2010-12-22  8:42   ` David Rientjes
2010-12-25 10:47 ` Balbir Singh
2010-12-26 20:35   ` David Rientjes

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=20110208112041.a9986f09.kamezawa.hiroyu@jp.fujitsu.com \
    --to=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=linux-mm@kvack.org \
    --cc=nishimura@mxp.nes.nec.co.jp \
    --cc=rientjes@google.com \
    /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