Re: [RFC 4/8] Improve the tracking of active utilisation

From: Luca Abeni
Date: Fri Jan 15 2016 - 03:10:22 EST


On 01/14/2016 08:47 PM, Peter Zijlstra wrote:
On Thu, Jan 14, 2016 at 04:24:49PM +0100, Luca Abeni wrote:

+ if (!hrtimer_is_queued(timer)) {
+ hrtimer_start(timer, act, HRTIMER_MODE_ABS);
+ }
+
+ if (hrtimer_active(timer) == 0) {
+ printk("Problem activating inactive_timer!\n");
+ clear_running_bw(dl_se, dl_rq);
+ if (!dl_task(p)) {
+ __dl_clear_params(p);
+ }
+ } else {
+ get_task_struct(p);

Ah, I missed that one. I would suggest putting that right _before_
hrtimer_start(), because hrtimer_start() guarantees the callback will
run.
Ok. So, if I understand well, the "if (hrtimer_active(timer) == 0)" check
is useless (or should be somehow revised)... Right?



Thanks,
Luca