Re: [PATCH v4 cgroup/for-3.7] cgroup: mark subsystems with broken hierarchy support and whine if cgroups are nested for them

Tejun Heo
2012-09-13T20:03:54Z

Hello, Vivek.

On Thu, Sep 13, 2012 at 03:41:11PM -0400, Vivek Goyal wrote:
> I think for blkio controller, first level of creation itself is wrong if
> hierarchy is not supported.
>
> root
> / | \
> T1 T2 G1
>
> So T1 and T2 are tasks and G1 is the created cgroup. Now if we are
> expecting hierarchical controller then like cpu controller, T1, T2 and
> G1 should be considered at same level and disk bandwidth should be
> divided equally between T1, T2 and G1.
>
> But currently blkio controller looks at them as follows.
>
> pivot
> / \
> root G1
> / \
> T1 T2
> and divides bandwidth between root and G1 equally (if weights are equal).

Yeah, how to handle tasks and groups under the same cgroup is a
difficult question. I don't think what blkcg does now is necessarily
wrong and am not particularly fond of the idea of dealing tasks and
groups as equals. It isn't clear how resource should be distributed
across them - we don't have per-task knobs.

I think this is a problem only for controllers which implement
proportional control - cpu and blkio, am I right?

Thanks.

--
tejun