Re: [PATCH 2/4] sched/fair: Small cleanup to sched_balance_newidle()

From: Dietmar Eggemann
Date: Mon Nov 10 2025 - 08:55:47 EST


On 07.11.25 17:06, Peter Zijlstra wrote:
> Pull out the !sd check to simplify code.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> ---
> kernel/sched/fair.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -12811,14 +12811,16 @@ static int sched_balance_newidle(struct
>
> rcu_read_lock();

Maybe scoped_guard(rcu) here?

> sd = rcu_dereference_check_sched_domain(this_rq->sd);
> + if (!sd) {
> + rcu_read_unlock();
> + goto out;
> + }
>
> if (!get_rd_overloaded(this_rq->rd) ||
> - (sd && this_rq->avg_idle < sd->max_newidle_lb_cost)) {
> + this_rq->avg_idle < sd->max_newidle_lb_cost) {
>
> - if (sd)
> - update_next_balance(sd, &next_balance);
> + update_next_balance(sd, &next_balance);
> rcu_read_unlock();
> -
> goto out;
> }
> rcu_read_unlock();