linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: David Rientjes <rientjes@google.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH] memcg: page fault oom improvement v2
Date: Wed, 24 Feb 2010 11:25:13 +0900	[thread overview]
Message-ID: <20100224112513.3d3e385b.kamezawa.hiroyu@jp.fujitsu.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1002231818540.9613@chino.kir.corp.google.com>

On Tue, 23 Feb 2010 18:26:17 -0800 (PST)
David Rientjes <rientjes@google.com> wrote:

> On Wed, 24 Feb 2010, KAMEZAWA Hiroyuki wrote:
> 
> > > > > This allows us to hijack the TIF_MEMDIE bit to detect when there is a 
> > > > > parallel pagefault oom killing when the oom killer hasn't necessarily been 
> > > > > invoked to kill a system-wide task (it's simply killing current, by 
> > > > > default, and giving it access to memory reserves).  Then, we can change 
> > > > > out_of_memory(), which also now handles memcg oom conditions, to always 
> > > > > scan the tasklist first (including for mempolicy and cpuset constrained 
> > > > > ooms), check for any candidates that have TIF_MEMDIE, and return 
> > > > > ERR_PTR(-1UL) if so.  That catches the parallel pagefault oom conditions 
> > > > > from needlessly killing memcg tasks.  panic_on_oom would only panic after 
> > > > > the tasklist scan has completed and returned != ERR_PTR(-1UL), meaning 
> > > > > pagefault ooms are exempt from that sysctl.
> > > > > 
> > > > Sorry, I see your concern but I'd like not to do clean-up and bug-fix at
> > > > the same time.  
> > > > 
> > > > I think clean up after fix is easy in this case.
> > > > 
> > > 
> > > If you develop on top of my oom killer rewrite, pagefault ooms already 
> > > attempt to kill current first and then defer back to killing another task 
> > > if current is unkillable.  
> > 
> > After my fix, page_fault_out_of_memory is never called. (because memcg doesn't
> > return needless failure.)
> > 
> 
> Of course it's called, it's called from the pagefault handler whenever we 
> return VM_FAULT_OOM.  Whenever that happens, we'd needlessly panic the 
> machine for panic_on_oom if we didn't do the tasklist scan and check for 
> eligible tasks with TIF_MEMDIE set because it prefers to kill current 
> first in pagefault conditions without consideration given to the sysctl.  
> pagefault_out_of_memory() has changed radically with my rewrite, so I'd 
> encourage you to develop on top of that where I've completely removed 
> mem_cgroup_oom_called() and memcg->last_oom_jiffies already because 
> they're nonsense.
> 
> My patches are available from 
> http://www.kernel.org/pub/linux/kernel/people/rientjes/oom-killer-rewrite
> 

I do by myself.

Bye.
-Kame

> Thanks.
> 

--
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:[~2010-02-24  2:28 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-23  3:03 [RFC][PATCH] memcg: page fault oom improvement KAMEZAWA Hiroyuki
2010-02-23  5:02 ` Daisuke Nishimura
2010-02-23  6:21   ` Daisuke Nishimura
2010-02-23  6:26     ` [RFC][PATCH] memcg: page fault oom improvement v2 KAMEZAWA Hiroyuki
2010-02-23  6:55       ` Daisuke Nishimura
2010-02-23  7:07         ` KAMEZAWA Hiroyuki
2010-02-23  8:38           ` KAMEZAWA Hiroyuki
2010-02-23 11:00             ` Daisuke Nishimura
2010-02-23 23:58               ` KAMEZAWA Hiroyuki
2010-02-23 22:49           ` David Rientjes
2010-02-24  0:08             ` KAMEZAWA Hiroyuki
2010-02-24  1:42               ` David Rientjes
2010-02-24  1:48                 ` KAMEZAWA Hiroyuki
2010-02-24  2:26                   ` David Rientjes
2010-02-24  2:25                     ` KAMEZAWA Hiroyuki [this message]
2010-02-23  6:10 ` [RFC][PATCH] memcg: page fault oom improvement Balbir Singh
2010-02-23  6:12   ` 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=20100224112513.3d3e385b.kamezawa.hiroyu@jp.fujitsu.com \
    --to=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --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