| From stable+bounces-198204-greg=kroah.com@vger.kernel.org Wed Dec 3 12:44:16 2025 |
| From: Ajay Kaher <ajay.kaher@broadcom.com> |
| Date: Wed, 3 Dec 2025 11:25:50 +0000 |
| Subject: sched/fair: Small cleanup to sched_balance_newidle() |
| To: stable@vger.kernel.org, gregkh@linuxfoundation.org |
| Cc: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, linux-kernel@vger.kernel.org, ajay.kaher@broadcom.com, alexey.makhalov@broadcom.com, yin.ding@broadcom.com, tapas.kundu@broadcom.com, Chris Mason <clm@meta.com> |
| Message-ID: <20251203112552.1738424-3-ajay.kaher@broadcom.com> |
| |
| From: Peter Zijlstra <peterz@infradead.org> |
| |
| commit e78e70dbf603c1425f15f32b455ca148c932f6c1 upstream. |
| |
| Pull out the !sd check to simplify code. |
| |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com> |
| Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com> |
| Tested-by: Chris Mason <clm@meta.com> |
| Link: https://patch.msgid.link/20251107161739.525916173@infradead.org |
| [ Ajay: Modified to apply on v6.1 ] |
| Signed-off-by: Ajay Kaher <ajay.kaher@broadcom.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| kernel/sched/fair.c | 11 ++++++----- |
| 1 file changed, 6 insertions(+), 5 deletions(-) |
| |
| --- a/kernel/sched/fair.c |
| +++ b/kernel/sched/fair.c |
| @@ -11589,14 +11589,15 @@ static int sched_balance_newidle(struct |
| |
| 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(); |