From 0ab25ea2a3b3a973fb914d0e47dc9c3c26049e8b Mon Sep 17 00:00:00 2001 From: "Yury Norov (NVIDIA)" Date: Sat, 6 Dec 2025 22:30:36 -0500 Subject: [PATCH] sched/fair: Simplify task_numa_find_cpu() Use for_each_cpu_and() and drop some housekeeping code. Signed-off-by: Yury Norov (NVIDIA) Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: K Prateek Nayak Reviewed-by: Phil Auld Link: https://patch.msgid.link/20251207033037.399608-1-yury.norov@gmail.com --- kernel/sched/fair.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 64275d75a964d..842a0f20414f1 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2494,11 +2494,8 @@ static void task_numa_find_cpu(struct task_numa_env *env, maymove = !load_too_imbalanced(src_load, dst_load, env); } - for_each_cpu(cpu, cpumask_of_node(env->dst_nid)) { - /* Skip this CPU if the source task cannot migrate */ - if (!cpumask_test_cpu(cpu, env->p->cpus_ptr)) - continue; - + /* Skip CPUs if the source task cannot migrate */ + for_each_cpu_and(cpu, cpumask_of_node(env->dst_nid), env->p->cpus_ptr) { env->dst_cpu = cpu; if (task_numa_compare(env, taskimp, groupimp, maymove)) break; -- 2.47.3