Re: [PATCH v4] cpuset: Enable cpuset controller in default hierarchy
From: Tejun Heo
Date: Wed Mar 14 2018 - 15:57:22 EST
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.
Thanks.
--
tejun