From: Yury Norov (NVIDIA) Date: Sun, 7 Dec 2025 03:30:36 +0000 (-0500) Subject: sched/fair: Simplify task_numa_find_cpu() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ab25ea2a3b3a973fb914d0e47dc9c3c26049e8b;p=thirdparty%2Fkernel%2Flinux.git 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 --- 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;