From: Juri Lelli <juri.lelli@arm.com>
To: Kirill Tkhai <tkhai@yandex.ru>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Kirill Tkhai <ktkhai@parallels.com>,
Ingo Molnar <mingo@redhat.com>, Juri Lelli <juri.lelli@gmail.com>
Subject: Re: [PATCH 2/2] sched/dl: Cleanup prio_changed_dl()
Date: Mon, 29 Sep 2014 16:03:58 +0100 [thread overview]
Message-ID: <542974DE.8050203@arm.com> (raw)
In-Reply-To: <20140927084104.1634.88783.stgit@localhost>
Hi Kirill,
On 27/09/14 09:41, Kirill Tkhai wrote:
> From: Kirill Tkhai <ktkhai@parallels.com>
>
> Now rq->curr task can't be dequeued in this function
> (it's possible only in __schedule()).
>
Could you please detail about "before", with a reference to the commit
that made this further change necessary?
Thanks a lot,
- Juri
> Also, delete "else" branch which is dead code.
>
> Signed-off-by: Kirill Tkhai <ktkhai@parallels.com>
> ---
> kernel/sched/deadline.c | 50 +++++++++++++++++++++++------------------------
> 1 file changed, 24 insertions(+), 26 deletions(-)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index 63f8b4a..38b4f19 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -1638,35 +1638,33 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
> static void prio_changed_dl(struct rq *rq, struct task_struct *p,
> int oldprio)
> {
> - if (task_on_rq_queued(p) || rq->curr == p) {
> + if (!task_on_rq_queued(p))
> + return;
> #ifdef CONFIG_SMP
> - /*
> - * This might be too much, but unfortunately
> - * we don't have the old deadline value, and
> - * we can't argue if the task is increasing
> - * or lowering its prio, so...
> - */
> - if (!rq->dl.overloaded)
> - pull_dl_task(rq);
> -
> - /*
> - * If we now have a earlier deadline task than p,
> - * then reschedule, provided p is still on this
> - * runqueue.
> - */
> - if (dl_time_before(rq->dl.earliest_dl.curr, p->dl.deadline) &&
> - rq->curr == p)
> - resched_curr(rq);
> -#else
> - /*
> - * Again, we don't know if p has a earlier
> - * or later deadline, so let's blindly set a
> - * (maybe not needed) rescheduling point.
> - */
> + /*
> + * This might be too much, but unfortunately
> + * we don't have the old deadline value, and
> + * we can't argue if the task is increasing
> + * or lowering its prio, so...
> + */
> + if (!rq->dl.overloaded)
> + pull_dl_task(rq);
> + /*
> + * If we now have a earlier deadline task than p,
> + * then reschedule, provided p is still on this
> + * runqueue.
> + */
> + if (dl_time_before(rq->dl.earliest_dl.curr, p->dl.deadline) &&
> + rq->curr == p)
> resched_curr(rq);
> +#else
> + /*
> + * Again, we don't know if p has a earlier
> + * or later deadline, so let's blindly set a
> + * (maybe not needed) rescheduling point.
> + */
> + resched_curr(rq);
> #endif /* CONFIG_SMP */
> - } else
> - switched_to_dl(rq, p);
> }
>
> const struct sched_class dl_sched_class = {
>
>
next prev parent reply other threads:[~2014-09-29 15:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-27 8:40 [PATCH 1/2] sched/dl: Implement cancel_dl_timer() to use in switched_from_dl() Kirill Tkhai
2014-09-27 8:41 ` [PATCH 2/2] sched/dl: Cleanup prio_changed_dl() Kirill Tkhai
2014-09-29 15:03 ` Juri Lelli [this message]
2014-09-29 15:13 ` Kirill Tkhai
2014-09-29 15:01 ` [PATCH 1/2] sched/dl: Implement cancel_dl_timer() to use in switched_from_dl() Juri Lelli
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=542974DE.8050203@arm.com \
--to=juri.lelli@arm.com \
--cc=juri.lelli@gmail.com \
--cc=ktkhai@parallels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tkhai@yandex.ru \
/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.