From: David Rientjes <rientjes@google.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
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: Mon, 7 Mar 2011 16:12:41 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.00.1103071602080.23035@chino.kir.corp.google.com> (raw)
In-Reply-To: <20110303135223.0a415e69.akpm@linux-foundation.org>
On Thu, 3 Mar 2011, Andrew Morton wrote:
> If userspace has chosen to repalce the oom-killer then userspace should
> be able to appropriately perform the role. But for some
> as-yet-undescribed reason, userspace is *not* able to perform that
> role.
>
> And I'm suspecting that the as-yet-undescribed reason is a kernel
> deficiency. Spit it out.
>
The purpose of memory.oom_control is to disable to kernel oom killer from
killing a task as soon as a memcg reaches its hard limit and reclaim has
failed. We want that behavior, but only temporarily for two reasons:
- the condition may be temporary and we'd rather busy loop for the
duration of the spike in memory usage than kill something off because
it will be coming under the hard limit soon or userspace will be
increasing that limit (or killing a lower priority job in favor of
this one), and
- it's possible that the userspace daemon is oom itself (being in a
separate cgroup doesn't prevent that) and is therefore subject to
being killed itself (or panicking the machine if its OOM_DISABLE and
nothing else is eligible) and cannot rectify the situation in other
memcgs that are also oom.
So this patch is not a bug fix, it's an enhancement to an already existing
feature (memory.oom_control) that probably should have been coded to be a
timeout in the first place and up to userspace whether that's infinite or
not.
Not merging this patch forces us into the very limiting position where we
either completely disable the oom killer or we don't and that's not
helpful in either of the above two cases without relying on userspace to
fix it (and it may be oom itself and locked out of freeing any memory via
the oom killer for the very same reason).
So the question I'd ask is: why should the kernel only offer a complete
and infinite disabling of the oom killer (something we'd never want to do
in production) to allow userspace a grace period to respond to reaching
the hard limit as opposed to allowing users the option to allow the
killing iff userspace can't expand the cgroup or kill something itself.
--
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>
next prev parent reply other threads:[~2011-03-08 0:12 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
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 [this message]
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=alpine.DEB.2.00.1103071602080.23035@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=nishimura@mxp.nes.nec.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