Re: [PATCH 4/4] memcg: force use_hierarchy if sane_behavior

From: Michal Hocko
Date: Sun Apr 14 2013 - 22:36:02 EST


On Sun 14-04-13 20:13:36, Serge Hallyn wrote:
> Quoting Tejun Heo (tj@xxxxxxxxxx):
> > Turn on use_hierarchy by default if sane_behavior is specified and
> > don't create .use_hierarchy file.
> >
> > It is debatable whether to remove .use_hierarchy file or make it ro as
> > the former could make transition easier in certain cases; however, the
> > behavior changes which will be gated by sane_behavior are intensive
> > including changing basic meaning of certain control knobs in a few
> > controllers and I don't really think keeping this piece would make
> > things easier in any noticeable way, so let's remove it.
>
> Hi Tejun,
>
> this actually reminds me of something that's been on my todo list to
> report for some time, but I haven't had time to find the source of the
> bug... And maybe it's already been reported... but
>
> If I do
>
> cd /sys/fs/cgroup/memory
> mkdir b
> cd b
> echo 1 > memory.use_hierarchy
> echo 5000 > memory.limit_in_bytes
> cat memory.limit_in_bytes
> 8192
> mkdir c
> cd c
> cat memory.use_hierarchy
> 1
> cat memory.limit_in_bytes
> 9223372036854775807
> echo $$ > tasks
> bash
> <killed>
>
> So it seems the hierarchy is being enforced, but not reported in
> child limit_in_bytes files.

This is an intended behavior. Limits are not propagated to the children
because they are enforced anyway (by reclaim). The behavior would
be quite inconsistent when the parent limit would be changed later
otherwise. We only inherit properties which are enforced hierarchically:
use_hierarchy, oom_disable and swappiness.

> (Last tested tonight on 3.8.0-17-generic #27-Ubuntu fwiw)
>
> -serge

--
Michal Hocko
SUSE Labs
--
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/