Re: [patch 2/2] mm: memcontrol: default hierarchy interface for memory

From: Andrew Morton
Date: Tue Jan 13 2015 - 15:53:07 EST


On Tue, 13 Jan 2015 10:50:40 -0500 Johannes Weiner <hannes@xxxxxxxxxxx> wrote:

> On Mon, Jan 12, 2015 at 03:37:16PM -0800, Andrew Morton wrote:
> > On Thu, 8 Jan 2015 23:15:04 -0500 Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
> >
> > > Introduce the basic control files to account, partition, and limit
> > > memory using cgroups in default hierarchy mode.
> > >
> > > This interface versioning allows us to address fundamental design
> > > issues in the existing memory cgroup interface, further explained
> > > below. The old interface will be maintained indefinitely, but a
> > > clearer model and improved workload performance should encourage
> > > existing users to switch over to the new one eventually.
> > >
> > > The control files are thus:
> > >
> > > - memory.current shows the current consumption of the cgroup and its
> > > descendants, in bytes.
> > >
> > > - memory.low configures the lower end of the cgroup's expected
> > > memory consumption range. The kernel considers memory below that
> > > boundary to be a reserve - the minimum that the workload needs in
> > > order to make forward progress - and generally avoids reclaiming
> > > it, unless there is an imminent risk of entering an OOM situation.
> >
> > The code appears to be ascribing a special meaning to low==0: you can
> > write "none" to set this. But I'm not seeing any description of this?
>
> Ah, yes.
>
> The memory.limit_in_bytes and memory.soft_limit_in_bytes currently
> show 18446744073709551615 per default, which is a silly way of saying
> "this limit is inactive". And echoing -1 into the control file is an
> even sillier way of setting this state. So the new interface just
> calls this state "none". Internally, 0 and Very High Number represent
> this unconfigured state for memory.low and memory.high, respectively.
>
> I added a bullet point at the end of the changelog below.

Added, thanks.

> > This all sounds pretty major. How much trouble is this change likely to
> > cause existing memcg users?
>
> That is actually entirely up to the user in question.
>
> 1. The old cgroup interface remains in place as long as there are
> users, so, technically, nothing has to change unless they want to.

It would be good to zap the old interface one day. Maybe we won't ever
be able to, but we should try. Once this has all settled down and is
documented, how about we add a couple of printk_once's to poke people
in the new direction?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/