Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
|
|

Re: [patch 4/7 -mm] oom: badness heuristic rewrite

From:  Andrew Morton <akpm-AT-linux-foundation.org>
To:  David Rientjes <rientjes-AT-google.com>
Subject:  Re: [patch 4/7 -mm] oom: badness heuristic rewrite
Date:  Thu, 11 Feb 2010 15:11:35 -0800
Cc:  Rik van Riel <riel-AT-redhat.com>, KAMEZAWA Hiroyuki <kamezawa.hiroyu-AT-jp.fujitsu.com>, Nick Piggin <npiggin-AT-suse.de>, Andrea Arcangeli <aarcange-AT-redhat.com>, Balbir Singh <balbir-AT-linux.vnet.ibm.com>, Lubos Lunak <l.lunak-AT-suse.cz>, linux-kernel-AT-vger.kernel.org, linux-mm-AT-kvack.org

On Thu, 11 Feb 2010 14:42:39 -0800 (PST)
David Rientjes <rientjes@google.com> wrote:

> On Thu, 11 Feb 2010, Andrew Morton wrote:
> 
> > > Sigh, this is going to require the amount of system memory to be 
> > > partitioned into OOM_ADJUST_MAX, 15, chunks and that's going to be the 
> > > granularity at which we'll be able to either bias or discount memory usage 
> > > of individual tasks by: instead of being able to do this with 0.1% 
> > > granularity we'll now be limited to 100 / 15, or ~7%.  That's ~9GB on my 
> > > 128GB system just because this was originally a bitshift.  The upside is 
> > > that it's now linear and not exponential.
> > 
> > Can you add newly-named knobs (rather than modifying the existing
> > ones), deprecate the old ones and then massage writes to the old ones
> > so that they talk into the new framework?
> > 
> 
> That's what I was thinking, add /proc/pid/oom_score_adj that is just added 
> into the badness score (and is then exported with /proc/pid/oom_score) 
> like this patch did with oom_adj and then scale it into oom_adj units for 
> that tunable.  A write to either oom_adj or oom_score_adj would change the 
> other,

How ugly is all this?

> the same thing I did for /proc/sys/vm/dirty_{bytes,ratio} and
> /proc/sys/vm/dirty_background_{bytes,ratio} which I guess we have to 
> support forever since the predecessors are part of the ABI and there's no 
> way to deprecate them since they'll never be removed for that reason.

Ah, OK, I was trying to remember where we did that ;)

There _are_ things we can do though.  Detect a write to the old file and
emit a WARN_ON_ONCE("you suck").  Wait a year, turn it into
WARN_ON("you really suck").  Wait a year, then remove it.

--
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>




to post comments


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds