Re: [PATCH V4 05/15] blk-throttle: add downgrade logic

From: Tejun Heo
Date: Tue Nov 22 2016 - 16:42:07 EST


On Tue, Nov 22, 2016 at 04:21:21PM -0500, Tejun Heo wrote:
> 1. A cgroup and its high and max limits don't have much to do with
> other cgroups and their limits. I don't get how the choice between
> high and max limits can be a td-wide state.

Ah, okay, this combines with idle cgroup detection to determine
whether the cgroups should be allowed to exceed high limits. It makes
more sense to me now. In that case, for the high/max limit range
issues, the enforced high/max limits can simply follow what's implied
by the configuration. e.g. if high=100 max=80, just behave as if both
high and max are 80.

> 2. Comparing parent's and child's limits and saying that either can be
> ignored because one is higher than the other isn't correct. A
> parent's limit doesn't apply to each child separately. It has to
> be aggregated. e.g. you can ignore a parent's setting if the sum
> of all children's limits is smaller than the parent's but then
> again there could still be a lower limit higher up the tree, so
> they would still have to be examined.

This part still seems weird tho. What am I misunderstanding?