Re: [PATCH v4] cpuset: Enable cpuset controller in default hierarchy
From: Mike Galbraith
Date: Wed Mar 14 2018 - 22:49:50 EST
On Wed, 2018-03-14 at 12:57 -0700, Tejun Heo wrote:
> Hello,
>
> On Sat, Mar 10, 2018 at 04:47:28AM +0100, Mike Galbraith wrote:
> > Some form of cpu_exclusive (preferably exactly that, but something else
> > could replace it) is needed to define sets that must not overlap any
> > other set at creation time or any time thereafter. A set with property
> > 'exclusive' is the enabler for fundamentally exclusive (but dynamic!)
> > set properties such as 'isolated' (etc etc).
>
> I'm not sure cpu_exclusive makes sense. A controller knob can either
> belong to the parent or the cgroup itself and cpu_exclusive doesn't
> make sense in either case.
>
> 1. cpu_exclusive is owned by the parent as other usual resource
> control knobs. IOW, it's not delegatable.
>
> This is weird because it's asking the kernel to protect against its
> own misconfiguration and there's nothing preventing cpu_exclusive
> itself being cleared by the same entitya.
>
> 2. cpu_exclusive is owned by the cgroup itself like memory.oom_group.
> IOW, it's delegatable.
>
> This allows a cgroup to affect what its siblings can or cannot do,
> which is broken. Semantically, it doesn't make much sense either.
>
> I don't think it's a good idea to add a kernel mechanism to prevent
> misconfiguration from a single entity.
Under the hood v2 details are entirely up to you. My input ends at
please don't leave dynamic partitioning standing at the dock when v2
sails.
-Mike