lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 14 Dec 2009 20:54:37 -0800 (PST)
From:	David Rientjes <rientjes@...gle.com>
To:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Daisuke Nishimura <nishimura@....nes.nec.co.jp>,
	KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
	linux-mm@...ck.org, linux-kernel@...r.kernel.org,
	Christoph Lameter <cl@...ux-foundation.org>
Subject: Re: [BUGFIX][PATCH] oom-kill: fix NUMA consraint check with nodemask
 v4.2

On Tue, 15 Dec 2009, KAMEZAWA Hiroyuki wrote:

> > I would agree only if the oom killer used total_vm as a the default, it is 
> > long-standing and allows for the aforementioned capability that you lose 
> > with rss.  I have no problem with the added sysctl to use rss as the 
> > baseline when enabled.
> > 
> I'll prepare a patch for adds
> 
>   sysctl_oom_kill_based_on_rss (default=0)
> 
> ok ?
> 

I have no strong feelings either for or against that, I guess users who 
want to always kill the biggest memory hogger even when single page 
__GFP_WAIT allocations fail could use it.  I'm not sure it would get much 
use, though.

I think we should methodically work out an oom killer badness rewrite that 
won't compound the problem by adding more and more userspace knobs.  In 
other words, we should slow down, construct a list of goals that we want 
to achieve, and then see what type of solution we can create.

A few requirements that I have:

 - we must be able to define when a task is a memory hogger; this is
   currently done by /proc/pid/oom_adj relying on the overall total_vm
   size of the task as a baseline.  Most users should have a good sense
   of when their task is using more memory than expected and killing a
   memory leaker should always be the optimal oom killer result.  A better 
   set of units other than a shift on total_vm would be helpful, though.

 - we must prefer tasks that run on a cpuset or mempolicy's nodes if the 
   oom condition is constrained by that cpuset or mempolicy and its not a
   system-wide issue.

 - we must be able to polarize the badness heuristic to always select a
   particular task is if its very low priority or disable oom killing for
   a task if its must-run.

The proposal may be to remove /proc/pid/oom_adj completely since I know 
both you and KOSAKI-san dislike it, but we'd need an alternative which 
keeps the above functionality intact.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ