From: Juri Lelli <juri.lelli@arm.com>
To: luca abeni <luca.abeni@santannapisa.it>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Claudio Scordino <claudio@evidence.eu.com>,
Steven Rostedt <rostedt@goodmis.org>,
Tommaso Cucinotta <tommaso.cucinotta@sssup.it>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH] sched/deadline: fix switching to -deadline
Date: Mon, 24 Apr 2017 11:16:24 +0100 [thread overview]
Message-ID: <20170424101624.GA13394@e106622-lin> (raw)
In-Reply-To: <20170421210833.1837de6f@sweethome>
On 21/04/17 21:08, Luca Abeni wrote:
> On Fri, 21 Apr 2017 11:26:59 +0100
> Juri Lelli <juri.lelli@arm.com> wrote:
> > On 21/04/17 11:59, Luca Abeni wrote:
> > > On Fri, 21 Apr 2017 10:47:29 +0100
> > > Juri Lelli <juri.lelli@arm.com> wrote:
> > > [...]
> > > > > > > *dl_se, update_dl_entity(dl_se, pi_se);
> > > > > > > else if (flags & ENQUEUE_REPLENISH)
> > > > > > > replenish_dl_entity(dl_se, pi_se);
> > > > > > > + else if ((flags & ENQUEUE_RESTORE) &&
> > > > > >
> > > > > > Not sure I understand how this works. AFAICT we are doing
> > > > > > __sched_setscheduler() when we want to catch the case of a new
> > > > > > dl_entity (SCHED_{OTHER,FIFO} -> SCHED_DEADLINE}, but
> > > > > > queue_flags (which are passed to enqueue_task()) don't seem
> > > > > > to have ENQUEUE_RESTORE set?
> > > > >
> > > > > I was under the impression sched_setscheduler() sets
> > > > > ENQUEUE_RESTORE...
> > > >
> > > > Oh, I think it works "by coincidence", as ENQUEUE_RESTORE ==
> > > > DEQUEUE_SAVE == 0x02 ? :)
> > >
> > > Not sure if this is a conincidence... By looking at the comments in
> > > sched/sched.h I got the impression the two values match by design
> > > (and __sched_setscheduler() is using this property to simplify the
> > > code :)
> >
> > Yep, right.
> >
> > Do you think we might get into trouble with do_set_cpus_allowed()?
> > Can it happen that we change a task affinity while its deadline is in
> > the past?
>
> Well, double thinking about it, this is an interesting problem... What
> do we want to do with do_set_cpus_allowed()? (I mean: what is the
> expected behaviour?)
>
> With this patch, if a task is moved to a different runqueue when its
> deadline is in the past (because we are doing gEDF, or because of timer
> granularity issues) its scheduling deadline is reinitialized to current
> time + relative deadline... I think this makes perfect sense, doesn't
> it?
>
Mmm, I don't think we will (with this patch) actually reinitialize the
deadline when a "normal" gEDF migration happen (push/pull), as
(de)activate_task() have no flag set. Which brings the question, should
we actually take care of this corner case (as what you say makes sense
to me too)?
next prev parent reply other threads:[~2017-04-24 10:16 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-20 19:30 [PATCH] sched/deadline: fix switching to -deadline luca abeni
2017-04-21 9:39 ` Juri Lelli
2017-04-21 9:42 ` luca abeni
2017-04-21 9:47 ` Juri Lelli
2017-04-21 9:59 ` luca abeni
2017-04-21 10:18 ` Peter Zijlstra
2017-04-21 10:26 ` Juri Lelli
2017-04-21 19:08 ` luca abeni
2017-04-24 10:16 ` Juri Lelli [this message]
2017-04-24 10:36 ` Luca Abeni
2017-04-24 10:53 ` Juri Lelli
2017-04-21 10:17 ` Peter Zijlstra
2017-04-21 9:54 ` luca abeni
2017-04-21 13:39 ` Steven Rostedt
2017-07-24 7:49 ` 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=20170424101624.GA13394@e106622-lin \
--to=juri.lelli@arm.com \
--cc=bristot@redhat.com \
--cc=claudio@evidence.eu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luca.abeni@santannapisa.it \
--cc=mathieu.poirier@linaro.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tommaso.cucinotta@sssup.it \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.