From: luca abeni <luca.abeni@unitn.it>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
Juri Lelli <juri.lelli@arm.com>
Subject: Re: [RFC v2 3/7] Improve the tracking of active utilisation
Date: Tue, 5 Apr 2016 19:05:11 +0200 [thread overview]
Message-ID: <20160405190511.2b3029a9@utopia> (raw)
In-Reply-To: <20160405124242.GX3430@twins.programming.kicks-ass.net>
Hi Peter,
On Tue, 5 Apr 2016 14:42:42 +0200
Peter Zijlstra <peterz@infradead.org> wrote:
> On Fri, Apr 01, 2016 at 05:12:29PM +0200, Luca Abeni wrote:
> > @@ -526,7 +575,18 @@ 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 the "inactive timer" is still active, stop it and leave
> > + * the active utilisation unchanged.
> > + * Otherwise, increase the active utilisation.
> > + * If the timer cannot be cancelled, inactive_task_timer() will
> > + * find the task state as TASK_RUNNING, and will do nothing, so
> > + * we are still safe.
> > + */
> > + if (hrtimer_active(&dl_se->inactive_timer))
> > + hrtimer_try_to_cancel(&dl_se->inactive_timer);
>
> _try_, what happens if that fails?
I think inactive_task_timer() will run, but will see p->state == TASK_RUNNING
and will return immediately.
I think I have actually seen this happening during my tests, because adding
the "if (p->state == TASK_RUNNING)" in inactive_task_timer() fixed some issues
that I was seeing.
Thanks,
Luca
next prev parent reply other threads:[~2016-04-05 17:05 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-01 15:12 [RFC v2 0/7] CPU reclaiming for SCHED_DEADLINE Luca Abeni
2016-04-01 15:12 ` [RFC v2 1/7] Track the active utilisation Luca Abeni
2016-04-05 12:23 ` Peter Zijlstra
2016-04-05 16:47 ` luca abeni
2016-04-01 15:12 ` [RFC v2 2/7] Correctly track the active utilisation for migrating tasks Luca Abeni
2016-04-05 12:24 ` Peter Zijlstra
2016-04-05 16:50 ` luca abeni
2016-04-01 15:12 ` [RFC v2 3/7] Improve the tracking of active utilisation Luca Abeni
2016-04-05 12:42 ` Peter Zijlstra
2016-04-05 17:00 ` luca abeni
2016-04-05 12:42 ` Peter Zijlstra
2016-04-05 17:05 ` luca abeni [this message]
2016-04-05 14:48 ` Peter Zijlstra
2016-04-05 17:17 ` luca abeni
2016-04-05 15:00 ` Peter Zijlstra
2016-04-05 17:56 ` luca abeni
2016-04-05 18:00 ` Peter Zijlstra
2016-04-05 19:35 ` luca abeni
2016-04-05 18:02 ` Peter Zijlstra
2016-04-05 19:24 ` luca abeni
2016-04-05 19:31 ` Peter Zijlstra
2016-04-05 19:32 ` luca abeni
2016-04-05 18:11 ` Peter Zijlstra
2016-04-01 15:12 ` [RFC v2 4/7] Fix the update of the total -deadline utilization Luca Abeni
2016-04-05 12:58 ` Peter Zijlstra
2016-04-05 17:16 ` luca abeni
2016-04-01 15:12 ` [RFC v2 5/7] GRUB accounting Luca Abeni
2016-04-01 15:12 ` [RFC v2 6/7] Make GRUB a task's flag Luca Abeni
2016-04-01 15:12 ` [RFC v2 7/7] Do not reclaim the whole CPU bandwidth Luca Abeni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160405190511.2b3029a9@utopia \
--to=luca.abeni@unitn.it \
--cc=juri.lelli@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox