sched_ext: idle: Skip cross-node search with !CONFIG_NUMA
authorAndrea Righi <arighi@nvidia.com>
Tue, 3 Jun 2025 08:22:01 +0000 (10:22 +0200)
committerTejun Heo <tj@kernel.org>
Tue, 3 Jun 2025 18:22:27 +0000 (08:22 -1000)
In the idle CPU selection logic, attempting cross-node searches adds
unnecessary complexity when CONFIG_NUMA is disabled.

Since there's no meaningful concept of nodes in this case, simplify the
logic by restricting the idle CPU search to the current node only.

Fixes: 48849271e6611 ("sched_ext: idle: Per-node idle cpumasks")
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/sched/ext_idle.c

index 9477fbb..6d29d3c 100644 (file)
@@ -138,6 +138,7 @@ found:
                goto retry;
 }
 
+#ifdef CONFIG_NUMA
 /*
  * Tracks nodes that have not yet been visited when searching for an idle
  * CPU across all available nodes.
@@ -186,6 +187,13 @@ static s32 pick_idle_cpu_from_online_nodes(const struct cpumask *cpus_allowed, i
 
        return cpu;
 }
+#else
+static inline s32
+pick_idle_cpu_from_online_nodes(const struct cpumask *cpus_allowed, int node, u64 flags)
+{
+       return -EBUSY;
+}
+#endif
 
 /*
  * Find an idle CPU in the system, starting from @node.