Messages in this thread | | | Date | Tue, 30 Jan 2018 06:56:39 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH v4.15-rc9] sched, cgroup: Don't reject lower cpu.max on ancestors |
| |
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).
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.
Thanks.
-- tejun
| |