]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched/fair: Simplify task_numa_find_cpu()
authorYury Norov (NVIDIA) <yury.norov@gmail.com>
Sun, 7 Dec 2025 03:30:36 +0000 (22:30 -0500)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 8 Jan 2026 11:43:56 +0000 (12:43 +0100)
Use for_each_cpu_and() and drop some housekeeping code.

Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: K Prateek Nayak <kprateek.nayak@amd.com>
Reviewed-by: Phil Auld <pauld@redhat.com>
Link: https://patch.msgid.link/20251207033037.399608-1-yury.norov@gmail.com
kernel/sched/fair.c

index 64275d75a964d9071bfb18adfadd9a4a83063cec..842a0f20414f1ae88eccee7ac56d28a02c0cf5fc 100644 (file)
@@ -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;