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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1511051323160.21989@chino.kir.corp.google.com>
Date:	Thu, 5 Nov 2015 13:28:24 -0800 (PST)
From:	David Rientjes <rientjes@...gle.com>
To:	Michal Hocko <mhocko@...nel.org>
cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Hongjie Fang (方洪杰) 
	<Hongjie.Fang@...eadtrum.com>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [patch] mm, oom: add comment for why oom_adj exists

On Thu, 5 Nov 2015, Michal Hocko wrote:

> > diff --git a/fs/proc/base.c b/fs/proc/base.c
> > --- a/fs/proc/base.c
> > +++ b/fs/proc/base.c
> > @@ -1032,6 +1032,16 @@ static ssize_t oom_adj_read(struct file *file, char __user *buf, size_t count,
> >  	return simple_read_from_buffer(buf, count, ppos, buffer, len);
> >  }
> >  
> > +/*
> > + * /proc/pid/oom_adj exists solely for backwards compatibility with previous
> > + * kernels.  The effective policy is defined by oom_score_adj, which has a
> > + * different scale: oom_adj grew exponentially and oom_score_adj grows linearly.
> > + * Values written to oom_adj are simply mapped linearly to oom_score_adj.
> > + * Processes that become oom disabled via oom_adj will still be oom disabled
> > + * with this implementation.
> > + *
> > + * oom_adj cannot be removed since existing userspace binaries use it.
> 
> This is a bit strong wording. I think the knob can be removed in the future.
> 

Perhaps you are my optimistic than I am, but I would think it would be 
difficult to remove a tunable that requires binaries to be re-built to 
avoid.  That was Linus's primary objection, IIRC.  If an application fails 
to oom disable itself because it still writes to oom_adj, the results 
could be a system wide failure.  There are workarounds to that if you have 
root, but I don't think we're in a position to remove it in the near 
future.  I think the comment is clear why it cannot be removed right now 
and its current implementation.

Converting software that writes to oom_adj to use oom_score_adj instead is 
still a worthwhile goal, though, since they'd be using the semantics of 
the effective policy.
--
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