Hello,
On Thu, Dec 15, 2016 at 12:33:00PM -0800, Shaohua Li wrote:
> @@ -1660,6 +1671,11 @@ static bool throtl_tg_can_downgrade(struct throtl_grp
> *tg)
> struct throtl_data *td = tg->td;
> unsigned long now = jiffies;
>
> + if (time_after_eq(now, tg->last_dispatch_time[READ] +
cgroup could be assigned a limit, but doesn't dispatch enough IO, eg the
cgroup is idle. When this happens, the cgroup doesn't hit its limit, so
we can't move the state machine to higher level and all cgroups will be
throttled to their lower limit, so we waste bandwidth. Detecting idle
cgroup is