All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Davydov <vdavydov.dev@gmail.com>
To: Roman Gushchin <guro@fb.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	cgroups@vger.kernel.org, kernel-team@fb.com,
	Johannes Weiner <hannes@cmpxchg.org>,
	Michal Hocko <mhocko@suse.com>, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH v2] mm: introduce memory.min
Date: Wed, 25 Apr 2018 13:52:55 +0300	[thread overview]
Message-ID: <20180425105255.ixfuoanb6t4kr6l5@esperanza> (raw)
In-Reply-To: <20180424135409.GA28080@castle.DHCP.thefacebook.com>

On Tue, Apr 24, 2018 at 02:54:15PM +0100, Roman Gushchin wrote:
> > On Mon, Apr 23, 2018 at 01:36:10PM +0100, Roman Gushchin wrote:
> > > +  memory.min
> > > +	A read-write single value file which exists on non-root
> > > +	cgroups.  The default is "0".
> > > +
> > > +	Hard memory protection.  If the memory usage of a cgroup
> > > +	is within its effective min boundary, the cgroup's memory
> > > +	won't be reclaimed under any conditions. If there is no
> > > +	unprotected reclaimable memory available, OOM killer
> > > +	is invoked.
> > 
> > What will happen if all tasks attached to a cgroup are killed by OOM,
> > but its memory usage is still within memory.min? Will memory.min be
> > ignored then?
> 
> Not really.
> 
> I don't think it's a big problem as long as a user isn't doing
> something weird (e.g. moving processes with significant
> amount of charged memory to other cgroups).

The user doesn't have to do anything weird for this to happen - just
read a file. This will allocate and charge page cache pages that are
not mapped to any process and hence cannot be freed by OOM killer.

> 
> But what we can do here, is to ignore memory.min of empty cgroups
> (patch below), it will resolve some edge cases like this.

Makes sense to me.

Thanks,
Vladimir

  reply	other threads:[~2018-04-25 10:53 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-23 12:36 [PATCH v2] mm: introduce memory.min Roman Gushchin
2018-04-23 12:36 ` Roman Gushchin
2018-04-24 12:30 ` Vladimir Davydov
2018-04-24 13:54   ` Roman Gushchin
2018-04-24 13:54     ` Roman Gushchin
2018-04-24 13:54     ` Roman Gushchin
2018-04-25 10:52     ` Vladimir Davydov [this message]
2018-04-25 12:38       ` Roman Gushchin
2018-04-25 12:38         ` Roman Gushchin
2018-05-02 13:38     ` Johannes Weiner
2018-05-02 12:30 ` Johannes Weiner
2018-05-02 12:52   ` Roman Gushchin
2018-05-02 12:52     ` Roman Gushchin

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=20180425105255.ixfuoanb6t4kr6l5@esperanza \
    --to=vdavydov.dev@gmail.com \
    --cc=cgroups@vger.kernel.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=tj@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.