From: David Rientjes <rientjes@google.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, linux-mm@kvack.org
Subject: Re: oom killer rewrite
Date: Tue, 25 May 2010 02:42:14 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.00.1005250231460.8045@chino.kir.corp.google.com> (raw)
In-Reply-To: <20100520092717.0c3d8f3f.kamezawa.hiroyu@jp.fujitsu.com>
On Thu, 20 May 2010, KAMEZAWA Hiroyuki wrote:
> I've pointed out that "normalized" parameter doesn't seem to work well in some
> situaion (in cluster). I hope you'll have an extra interface as
>
> echo 3G > /proc/<pid>/oom_indemification
>
> to allow users have "absolute value" setting.
> (If the admin know usual memory usage of an application, we can only
> add badness to extra memory usage.)
>
> To be honest, I can't fully understand why we need _normalized_ parameter. Why
> oom_adj _which is now used_ is not enough for setting "relative importance" ?
>
The only sane badness heuristic will be one that effectively compares all
eligible tasks for oom kill in a way that are relative to one another; I'm
concerned that a tunable that is based on a pure memory quantity requires
specific knowledge of the system (or memcg, cpuset, etc) capacity before
it is meaningful. In other words, I opted to use a relative proportion so
that when tasks are constrained to cpusets or memcgs or mempolicies they
become part of a "virtualized system" where the proportion is then used in
calculation of the total amount of system RAM, memcg limit, cpuset mems
capacities, etc, without knowledge of what that value actually is. So
"echo 3G" may be valid in your example when not constrained to any cgroup
or mempolicy but becomes invalid if I attach it to a cpuset with a single
node of 1G capacity. When oom_score_adj, we can specify the proportion
"of the resources that the application has access to" in comparison to
other applications that share those resources to determine oom killing
priority. I think that's a very powerful interface and your suggestion
could easily be implemented in userspace with a simple divide, thus we
don't need kernel support for it.
> And, IIRC, Nick pointed out that "don't remove _used_ interfaces just because
> you hate it or it seems not clean". So, I recommend you to drop sysctl changes.
>
I addressed this in
oom-reintroduce-and-deprecate-oom_kill_allocating_task.patch so that the
end result was that only the oom_dump_tasks sysctl was removed because it
was now enabled by default since it provides useful information about the
state of the VM at the time of allocation failure. So there's no longer
any removal of "used" interfaces (the only previous use of oom_dump_tasks
was to enable it, which is now the default). Are you disagreeing with the
deprecation of the sysctl since it was then folded into the new
oom_dump_quick sysctl?
Regardless, I dropped all of these cleanups from my latest patch series
which I'll post shortly, but keep in mind that what existed in -mm before
it was dropped did not break any userspace API, it simply deprecated them
for removal in two years.
> I think the whole concept of your patch series is good and I like it.
Thanks, Kame, for your continued interest in this work, it's encouraging.
--
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>
next prev parent reply other threads:[~2010-05-25 9:42 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 22:14 David Rientjes
2010-05-20 0:27 ` KAMEZAWA Hiroyuki
2010-05-25 9:42 ` David Rientjes [this message]
2010-05-26 0:17 ` KAMEZAWA Hiroyuki
2010-05-26 1:40 ` David Rientjes
2010-05-26 2:00 ` KAMEZAWA Hiroyuki
2010-05-26 3:26 ` David Rientjes
2010-05-24 1:09 ` KOSAKI Motohiro
2010-05-24 7:07 ` Nick Piggin
2010-05-25 9:46 ` David Rientjes
2010-05-25 10:05 ` Nick Piggin
2010-05-25 10:23 ` David Rientjes
2010-05-25 10:31 ` Nick Piggin
2010-05-25 9:55 ` David Rientjes
2010-05-26 0:02 ` David Rientjes
2010-05-28 5:27 ` KOSAKI Motohiro
2010-05-28 5:25 ` KOSAKI Motohiro
2010-06-01 7:30 ` 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.1005250231460.8045@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
/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