Re: [PATCH v5] sched/deadline: remove useless param from setup_new_dl_entity

From: Steven Rostedt
Date: Fri Aug 05 2016 - 09:56:52 EST


On Fri, 5 Aug 2016 11:09:59 +0100
Juri Lelli <juri.lelli@xxxxxxx> wrote:

> @@ -1720,19 +1720,28 @@ static void switched_from_dl(struct rq *rq, struct task_struct *p)
> */
> static void switched_to_dl(struct rq *rq, struct task_struct *p)
> {
> - if (dl_time_before(p->dl.deadline, rq_clock(rq)))
> - setup_new_dl_entity(&p->dl, &p->dl);
>
> - if (task_on_rq_queued(p) && rq->curr != p) {
> + if (task_on_rq_queued(p)) {

I always hated functions totally encapsulated by an if statement. This
can be a bit simpler (and less indented) if you have:

/* If p is not queued, its parameters will be updated at wakeup */
if (!task_on_rq_queued(p))
return;

[...]

Other than that, it looks good.

Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

-- Steve

> + /*
> + * If p is not queued we will update its parameters at next
> + * wakeup. If p is dl_boosted we already updated its params in
> + * rt_mutex_setprio()->enqueue_task(..., ENQUEUE_REPLENISH),
> + * p's deadline being now already after rq_clock(rq).
> + */
> + if (dl_time_before(p->dl.deadline, rq_clock(rq)))
> + setup_new_dl_entity(&p->dl);
> +
> + if (rq->curr != p) {
> #ifdef CONFIG_SMP
> - if (tsk_nr_cpus_allowed(p) > 1 && rq->dl.overloaded)
> - queue_push_tasks(rq);
> + if (tsk_nr_cpus_allowed(p) > 1 && rq->dl.overloaded)
> + queue_push_tasks(rq);
> #else
> - if (dl_task(rq->curr))
> - check_preempt_curr_dl(rq, p, 0);
> - else
> - resched_curr(rq);
> + if (dl_task(rq->curr))
> + check_preempt_curr_dl(rq, p, 0);
> + else
> + resched_curr(rq);
> #endif
> + }
> }
> }
>