From 80676560d271024eb9d016c8d605ebc2d3ebf8d9 Mon Sep 17 00:00:00 2001 From: Stephen Dickey Date: Fri, 12 Nov 2021 16:27:07 -0800 Subject: [PATCH] sched/walt: do not allow migration to halted CPU rebalance_domains will call load_balance, and ultimately will call detach_tasks, walt_migrated_queued_task, and set_task_cpu, choosing a cpu that is halted. can_migrate_task will be used to validate whether a particular migration is allowed to happen. Reject migrations for tasks that are being migrated to a halted cpu. Change-Id: I0b2f5d3857a2b1db9a2fa5017d5238f143a85ed9 Signed-off-by: Stephen Dickey --- kernel/sched/walt/walt_lb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/sched/walt/walt_lb.c b/kernel/sched/walt/walt_lb.c index 5f0bcf76da63..7128a9ea26a7 100644 --- a/kernel/sched/walt/walt_lb.c +++ b/kernel/sched/walt/walt_lb.c @@ -250,6 +250,10 @@ static inline bool _walt_can_migrate_task(struct task_struct *p, int dst_cpu, if (wrq->push_task == p) return false; + /* Don't detach task if dest cpu is halted */ + if (cpu_halted(dst_cpu)) + return false; + return true; }