Re: [RFC][PATCH] sched: deadline: Remove unnecessary goto label in pick_earliest_pushable_dl_task

Christophe JAILLET
2024-12-05T21:32:41Z

Le 05/12/2024 à 22:16, John Stultz a écrit :
> Commit 8b5e770ed7c0 ("sched/deadline: Optimize pull_dl_task()")
> added an odd goto label that seems to be unnecssary, given its

s/unnecssary/unnecessary/

> called unconditionally from the bottom of a while loop and the
> label is at the top.

Except that it is not a while loop, but only an if.

Maybe, changing this if into a while would save a few lines of code and
be more readable as-well.

CJ

>
> Thus, clean it up and remove the label/goto.
>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Juri Lelli <juri.lelli@redhat.com>
> Cc: Vincent Guittot <vincent.guittot@linaro.org>
> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Ben Segall <bsegall@google.com>
> Cc: Mel Gorman <mgorman@suse.de>
> Cc: Valentin Schneider <vschneid@redhat.com>
> Cc: Wanpeng Li <wanpeng.li@linux.intel.com>
> Cc: Todd Kjos <tkjos@google.com>
> Cc: kernel-team@android.com
> Fixes: 8b5e770ed7c0 ("sched/deadline: Optimize pull_dl_task()")
> Reported-by: Todd Kjos <tkjos@google.com>
> Signed-off-by: John Stultz <jstultz@google.com>
> ---
> kernel/sched/deadline.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index d9d5a702f1a61..566a05efa4e57 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -2501,8 +2501,6 @@ static struct task_struct *pick_earliest_pushable_dl_task(struct rq *rq, int cpu
> return NULL;
>
> next_node = rb_first_cached(&rq->dl.pushable_dl_tasks_root);
> -
> -next_node:
> if (next_node) {
> p = __node_2_pdl(next_node);
>
> @@ -2510,7 +2508,6 @@ static struct task_struct *pick_earliest_pushable_dl_task(struct rq *rq, int cpu
> return p;
>
> next_node = rb_next(next_node);
> - goto next_node;
> }
>
> return NULL;