From: Yang Yingliang Date: Wed, 3 Jul 2024 03:16:10 +0000 (+0800) Subject: sched/core: Fix unbalance set_rq_online/offline() in sched_cpu_deactivate() X-Git-Tag: v6.11-rc2~4^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fe7a11c78d2a9bdb8b50afc278a31ac177000948;p=thirdparty%2Fkernel%2Fstable.git sched/core: Fix unbalance set_rq_online/offline() in sched_cpu_deactivate() If cpuset_cpu_inactive() fails, set_rq_online() need be called to rollback. Fixes: 120455c514f7 ("sched: Fix hotplug vs CPU bandwidth control") Cc: stable@kernel.org Signed-off-by: Yang Yingliang Signed-off-by: Peter Zijlstra (Intel) Link: https://lore.kernel.org/r/20240703031610.587047-5-yangyingliang@huaweicloud.com --- diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 4d119e930beb1..f3951e4a55e5b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -8022,6 +8022,7 @@ int sched_cpu_deactivate(unsigned int cpu) ret = cpuset_cpu_inactive(cpu); if (ret) { sched_smt_present_inc(cpu); + sched_set_rq_online(rq, cpu); balance_push_set(cpu, false); set_cpu_active(cpu, true); sched_update_numa(cpu, true);