On Tue, Nov 22, 2016 at 04:42:00PM -0500, Tejun Heo wrote:
> Hello,
>
> 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 l
Hello,
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
Hello,
On Mon, Nov 14, 2016 at 02:22:12PM -0800, Shaohua Li wrote:
> +static unsigned long tg_last_high_overflow_time(struct throtl_grp *tg)
> +{
> + struct throtl_service_queue *parent_sq;
> + struct throtl_grp *parent = tg;
> + unsigned long ret = __tg_last_high_overflow_time(tg);
>
When queue state machine is in LIMIT_MAX state, but a cgroup is below
its high limit for some time, the queue should be downgraded to lower
state as one cgroup's high limit isn't met.
Signed-off-by: Shaohua Li
---
block/blk-throttle.c | 188 +++
1