From: David Rientjes <rientjes@google.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Nick Piggin <npiggin@suse.de>, Oleg Nesterov <oleg@redhat.com>,
Balbir Singh <balbir@in.ibm.com>,
linux-mm@kvack.org
Subject: Re: [patch -mm 1/2] oom: badness heuristic rewrite
Date: Mon, 2 Aug 2010 17:27:13 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.00.1008021713310.9569@chino.kir.corp.google.com> (raw)
In-Reply-To: <20100803090058.48c0a0c9.kamezawa.hiroyu@jp.fujitsu.com>
On Tue, 3 Aug 2010, KAMEZAWA Hiroyuki wrote:
> One reason I poitned out is that this new parameter is hard to use for admins and
> library writers.
> old oom_adj was defined as an parameter works as
> (memory usage of app)/oom_adj.
Where are you getting this definition from?
Disregarding all the other small adjustments in the old heuristic, a
reduced version of the formula was mm->total_vm << oom_adj. It's a
shift, not a divide. That has no sensible meaning.
> new oom_score_adj was define as
> (memory usage of app * oom_score_adj)/ system_memory
>
No, it's (rss + swap + oom_score_adj) / bound memory. It's an addition,
not a multiplication, and it's a proportion of memory the application is
bound to, not the entire system (it could be constrained by cpuset,
mempolicy, or memcg).
> Then, an applications' oom_score on a host is quite different from on the other
> host. This operation is very new rather than a simple interface updates.
> This opinion was rejected.
>
It wasn't rejected, I responded to your comment and you never wrote back.
The idea
> Anyway, I believe the value other than OOM_DISABLE is useless,
You're right in that OOM_DISABLE fulfills may typical use cases to simply
protect a task by making it immune to the oom killer. But there are other
use cases for the oom killer that you're perhaps not using where a
sensible userspace tunable does make a difference: the goal of the
heuristic is always to kill the task consuming the most amount of memory
to avoid killing tons of applications for subsequent page allocations. We
do run important tasks that consume lots of memory, though, and the kernel
can't possibly know about that importance. So although you may never use
a positive oom_score_adj, although others will, you probably can find a
use case for subtracting a memory quantity from a known memory hogging
task that you consider to be vital in an effort to disregard that quantity
from the score. I'm sure you'll agree it's a much more powerful (and
fine-grained) interface than oom_adj.
> I have no concerns. I'll use memcg if I want to control this kind of things.
>
That would work if you want to setup individual memcgs for every
application on your system, know what sane limits are for each one, and
want to incur the significant memory expense of enabling
CONFIG_CGROUP_MEM_RES_CTLR for its metadata.
--
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-08-03 0:24 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-17 19:16 David Rientjes
2010-07-17 19:16 ` [patch -mm 2/2] oom: deprecate oom_adj tunable David Rientjes
2010-07-29 23:08 ` [patch -mm 1/2] oom: badness heuristic rewrite Andrew Morton
2010-07-30 0:12 ` KOSAKI Motohiro
2010-07-30 1:38 ` Andrew Morton
2010-07-30 11:02 ` KOSAKI Motohiro
2010-07-30 20:14 ` David Rientjes
2010-08-02 20:43 ` Andrew Morton
2010-08-03 0:00 ` KAMEZAWA Hiroyuki
2010-08-03 0:27 ` David Rientjes [this message]
2010-08-03 0:36 ` KAMEZAWA Hiroyuki
2010-08-03 1:02 ` David Rientjes
2010-08-03 1:08 ` KAMEZAWA Hiroyuki
2010-08-03 1:24 ` KAMEZAWA Hiroyuki
2010-08-03 1:52 ` David Rientjes
2010-08-03 2:05 ` KAMEZAWA Hiroyuki
2010-08-03 3:05 ` David Rientjes
2010-08-03 3:11 ` KAMEZAWA Hiroyuki
2010-08-03 4:20 ` David Rientjes
2010-08-03 4:32 ` KAMEZAWA Hiroyuki
2010-08-03 7:23 ` David Rientjes
2010-08-03 7:21 ` KAMEZAWA Hiroyuki
2010-08-03 7:27 ` KAMEZAWA Hiroyuki
2010-08-03 20:43 ` David Rientjes
2010-08-03 1:50 ` David Rientjes
2010-08-03 1:50 ` KAMEZAWA Hiroyuki
2010-08-03 6:00 ` KOSAKI Motohiro
2010-08-03 7:16 ` 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.1008021713310.9569@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@in.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=oleg@redhat.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