From: Yury Norov Date: Sat, 19 Aug 2023 14:12:36 +0000 (-0700) Subject: sched/topology: Fix sched_numa_find_nth_cpu() in non-NUMA case X-Git-Tag: v6.6.7~1620 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03a34cb072fc3a4976e07fc1a79790adc079611e;p=platform%2Fkernel%2Flinux-starfive.git sched/topology: Fix sched_numa_find_nth_cpu() in non-NUMA case [ Upstream commit 8ab63d418d4339d996f80d02a00dbce0aa3ff972 ] When CONFIG_NUMA is enabled, sched_numa_find_nth_cpu() searches for a CPU in sched_domains_numa_masks. The masks includes only online CPUs, so effectively offline CPUs are skipped. When CONFIG_NUMA is disabled, the fallback function should be consistent. Fixes: cd7f55359c90 ("sched: add sched_numa_find_nth_cpu()") Signed-off-by: Yury Norov Signed-off-by: Ingo Molnar Cc: Mel Gorman Link: https://lore.kernel.org/r/20230819141239.287290-5-yury.norov@gmail.com Signed-off-by: Sasha Levin --- diff --git a/include/linux/topology.h b/include/linux/topology.h index fea3237..52f5850 100644 --- a/include/linux/topology.h +++ b/include/linux/topology.h @@ -251,7 +251,7 @@ extern const struct cpumask *sched_numa_hop_mask(unsigned int node, unsigned int #else static __always_inline int sched_numa_find_nth_cpu(const struct cpumask *cpus, int cpu, int node) { - return cpumask_nth(cpu, cpus); + return cpumask_nth_and(cpu, cpus, cpu_online_mask); } static inline const struct cpumask *