Re: [PATCH 1/2] sched/deadline: add per rq tracking of admitted bandwidth

From: luca abeni
Date: Wed Feb 10 2016 - 06:43:46 EST


Hi all,

On Wed, 10 Feb 2016 11:32:58 +0000
Juri Lelli <juri.lelli@xxxxxxx> 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