Re: [PATCH v4.15-rc9] sched, cgroup: Don't reject lower cpu.max on ancestors

From: Peter Zijlstra
Date: Thu Feb 01 2018 - 11:50:01 EST


On Tue, Jan 30, 2018 at 06:56:39AM -0800, Tejun Heo wrote:
> Hello,
>
> On Tue, Jan 30, 2018 at 11:21:56AM +0100, Peter Zijlstra wrote:
> > afaiu the existing code does exactly the opposite, it forces the
> > descendants to configure less than the parent allows.
> >
> > You're taking out an error condition and silently allowing descentant
> > misconfiguration. How does that make sense?
>
> Well, they're upper limits, not strict allocations. The current
> behavior implemented by cpu isn't either a strict allocation or upper
> limits. It disallows a child from having a value higher than the
> parent (allocation-ish) but the sum of the children is allowed to
> exceed the parent's (limit-ish).

True; but its still weird to have the parent 'promise' something and
then retract that 'promise' later.

> The combination is rather arbitrary and makes it impossible to
> delegate safely (a delegatee can block the delegator from reducing the
> amount resource allocated to the delegatee) while not really
> protecting against overcommit from descendants either.
>
> We had this sort of input validations in different controllers all in
> their own ways. In most cases, these aren't well thought out and we
> can't support things like delegation without aligning controller
> behaviors.

I suppose..

Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>