[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160115083234.GB3421@worktop>
Date: Fri, 15 Jan 2016 09:32:34 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Luca Abeni <luca.abeni@...tn.it>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Juri Lelli <juri.lelli@....com>
Subject: Re: [RFC 4/8] Improve the tracking of active utilisation
On Fri, Jan 15, 2016 at 09:10:15AM +0100, Luca Abeni wrote:
> 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?
Yes, ever since: c6eb3f70d448 ("hrtimer: Get rid of hrtimer softirq")
hrtimer_start() is guaranteed to work and result in a callback, even if
the time is in the past.
Powered by blists - more mailing lists