Messages in this thread |  | | Date | Wed, 2 Nov 2016 03:41:28 +0100 | From | luca abeni <> | Subject | Re: [RFC v3 2/6] Improve the tracking of active utilisation |
| |
On Mon, 24 Oct 2016 16:06:34 +0200 Luca Abeni <luca.abeni@unitn.it> wrote: [...] > @@ -514,7 +556,20 @@ static void update_dl_entity(struct sched_dl_entity *dl_se, > struct dl_rq *dl_rq = dl_rq_of_se(dl_se); > struct rq *rq = rq_of_dl_rq(dl_rq); > > - add_running_bw(dl_se, dl_rq); > + if (hrtimer_is_queued(&dl_se->inactive_timer)) { > + hrtimer_try_to_cancel(&dl_se->inactive_timer); Replying to myself here: after re-readling this code again, I now think that if hrtimer_try_to_cancel() does not fail I need a put_task_struct() to compensate for the one that should happen in the inactive timer handler and I just cancelled... I do not know how I previously missed this (or maybe I just managed to confuse myself now :)
I will check this in next week.
Luca
|  |