[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180425105255.ixfuoanb6t4kr6l5@esperanza>
Date: Wed, 25 Apr 2018 13:52:55 +0300
From: Vladimir Davydov <vdavydov.dev@...il.com>
To: Roman Gushchin <guro@...com>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org, kernel-team@...com,
Johannes Weiner <hannes@...xchg.org>,
Michal Hocko <mhocko@...e.com>, Tejun Heo <tj@...nel.org>
Subject: Re: [PATCH v2] mm: introduce memory.min
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
Powered by blists - more mailing lists