The following commit has been merged into the sched/core branch of tip: Commit-ID: fe7a11c78d2a9bdb8b50afc278a31ac177000948 Gitweb: https://git.kernel.org/tip/fe7a11c78d2a9bdb8b50afc278a31ac177000948 Author: Yang Yingliang <yangyingliang@xxxxxxxxxx> AuthorDate: Wed, 03 Jul 2024 11:16:10 +08:00 Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx> CommitterDate: Mon, 29 Jul 2024 12:22:33 +02:00 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@xxxxxxxxxx Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: https://lore.kernel.org/r/20240703031610.587047-5-yangyingliang@xxxxxxxxxxxxxxx --- kernel/sched/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 4d119e9..f3951e4 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);