Hi all, On Wed, 10 Feb 2016 11:32:58 +0000 Juri Lelli <juri.le...@arm.com> wrote: [...] > @@ -2445,14 +2445,18 @@ static int dl_overflow(struct task_struct *p, > int policy, if (dl_policy(policy) && !task_has_dl_policy(p) && > !__dl_overflow(dl_b, cpus, 0, new_bw)) { > __dl_add(dl_b, new_bw); > + __dl_add_ac(task_rq(p), new_bw); > err = 0; > } else if (dl_policy(policy) && task_has_dl_policy(p) && > !__dl_overflow(dl_b, cpus, p->dl.dl_bw, new_bw)) { > __dl_clear(dl_b, p->dl.dl_bw); > + __dl_sub_ac(task_rq(p), p->dl.dl_bw); > __dl_add(dl_b, new_bw); > + __dl_add_ac(task_rq(p), new_bw); > err = 0; > } else if (!dl_policy(policy) && task_has_dl_policy(p)) { > __dl_clear(dl_b, p->dl.dl_bw); > + __dl_sub_ac(task_rq(p), p->dl.dl_bw);
Instead of adding __dl_add_ac() and __dl_sub_ac) calls here, maybe they can be added in switched_to_dl() and switched_from_dl()? I'll test this idea locally, and I'll send an updated patch if it works. Luca