Re: [PATCH] sched: remove duplicate ifdefs

From: Vincent Guittot
Date: Fri Feb 16 2024 - 03:20:27 EST


On Fri, 16 Feb 2024 at 07:14, Shrikanth Hegde <sshegde@xxxxxxxxxxxxx> wrote:
>
> when a ifdef is used in the below manner, second one could be considered as
> duplicate.
>
> ifdef DEFINE_A
> ...code block...
> ifdef DEFINE_A <-- This is a duplicate.
> ...code block...
> endif
> else
> ifndef DEFINE_A <-- This is also duplicate.
> ...code block...
> endif
> endif
> More details about the script and methods used to find these code
> patterns are in cover letter of [1]
>
> In the scheduler code, there are two places where above pattern can be
> observed.
> Hunk1: Code is under check of CONFIG_UCLAMP_TASK in kernel/sched/core.c
> from line 1353. Hence the same check at line 1795 is duplicate.
> Hunk2: Minor update of comment.
> Hunk3: Code is already under the check of CONFIG_SMP in
> kernel/sched/fair.c from line 8591. Hence the same check in line 10185
> is a duplicate.
>
> No functional change is intended here. It only aims to improve code
> readability.
>
> [1]:https://lore.kernel.org/all/20240118080326.13137-1-sshegde@xxxxxxxxxxxxx/
> Signed-off-by: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>

Reviewed-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>

> ---
> Changes since v2:
> - Dropped RFC tag.
> - Split the patches into individual from the series.
> - Added more context to each Hunk for review.
>
> kernel/sched/core.c | 4 +---
> kernel/sched/fair.c | 2 --
> 2 files changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 9116bcc90346..a76c7095f736 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -1792,7 +1792,6 @@ static void cpu_util_update_eff(struct cgroup_subsys_state *css);
> #endif
>
> #ifdef CONFIG_SYSCTL
> -#ifdef CONFIG_UCLAMP_TASK
> #ifdef CONFIG_UCLAMP_TASK_GROUP
> static void uclamp_update_root_tg(void)
> {
> @@ -1898,7 +1897,6 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
> return result;
> }
> #endif
> -#endif
>
> static int uclamp_validate(struct task_struct *p,
> const struct sched_attr *attr)
> @@ -2065,7 +2063,7 @@ static void __init init_uclamp(void)
> }
> }
>
> -#else /* CONFIG_UCLAMP_TASK */
> +#else /* !CONFIG_UCLAMP_TASK */
> static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p) { }
> static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) { }
> static inline int uclamp_validate(struct task_struct *p,
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 533547e3c90a..8e30e2bb77a0 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -10182,10 +10182,8 @@ static int idle_cpu_without(int cpu, struct task_struct *p)
> * be computed and tested before calling idle_cpu_without().
> */
>
> -#ifdef CONFIG_SMP
> if (rq->ttwu_pending)
> return 0;
> -#endif
>
> return 1;
> }
> --
> 2.39.3
>