[PATCH v6.1 2/4] sched/fair: Small cleanup to sched_balance_newidle()

From: Ajay Kaher

Date: Wed Dec 03 2025 - 06:43:31 EST


From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>

commit e78e70dbf603c1425f15f32b455ca148c932f6c1 upstream.

Pull out the !sd check to simplify code.

Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Tested-by: Chris Mason <clm@xxxxxxxx>
Link: https://patch.msgid.link/20251107161739.525916173@xxxxxxxxxxxxx
[ Ajay: Modified to apply on v6.1 ]
Signed-off-by: Ajay Kaher <ajay.kaher@xxxxxxxxxxxx>
---
kernel/sched/fair.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f5a041bc3..9a7aa83ca 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -11589,14 +11589,15 @@ static int sched_balance_newidle(struct rq *this_rq, struct rq_flags *rf)

rcu_read_lock();
sd = rcu_dereference_check_sched_domain(this_rq->sd);
+ if (!sd) {
+ rcu_read_unlock();
+ goto out;
+ }

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