Re: [PATCH v2 6/6] sched/rt: Remove unnecessary assignment in inc/dec_rt_migration

From: Dietmar Eggemann
Date: Sun Feb 23 2020 - 18:19:08 EST


On 23.02.20 19:40, Qais Yousef wrote:
> The statement
>
> rt_rq = &rq_of_rt_rq(rt_rq)->rt
>
> Was just dereferencing rt_rq to get a pointer to itself. Which is a NOP.
> Remove it.
>
> Signed-off-by: Qais Yousef <qais.yousef@xxxxxxx>
> ---
> kernel/sched/rt.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
> index b35e49cdafcc..520e84993fe7 100644
> --- a/kernel/sched/rt.c
> +++ b/kernel/sched/rt.c
> @@ -343,7 +343,6 @@ static void inc_rt_migration(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
> return;
>
> p = rt_task_of(rt_se);
> - rt_rq = &rq_of_rt_rq(rt_rq)->rt;

IMHO, this is here to get the root rt_rq from any rt_rq (task_groups).
Looks like that e.g rt_nr_total is only maintained on root rt_rq's.

Similar to CFS' &rq_of(cfs_rq)->cfs (cfs_rq_util_change()) to get root
cfs_rq.

Not sure where CONFIG_RT_GROUP_SCHED=y is used but it's part of the rt
class implementation.

[...]