sched/fair: Move is_core_idle() out of CONFIG_NUMA
authorRicardo Neri <ricardo.neri-calderon@linux.intel.com>
Thu, 6 Apr 2023 20:31:37 +0000 (13:31 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 8 May 2023 08:58:33 +0000 (10:58 +0200)
asym_packing needs this function to determine whether an SMT core is a
suitable destination for load balancing.

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Zhang Rui <rui.zhang@intel.com>
Link: https://lore.kernel.org/r/20230406203148.19182-2-ricardo.neri-calderon@linux.intel.com
kernel/sched/fair.c

index 373ff5f..a47208d 100644 (file)
@@ -1064,6 +1064,23 @@ update_stats_curr_start(struct cfs_rq *cfs_rq, struct sched_entity *se)
  * Scheduling class queueing methods:
  */
 
+static inline bool is_core_idle(int cpu)
+{
+#ifdef CONFIG_SCHED_SMT
+       int sibling;
+
+       for_each_cpu(sibling, cpu_smt_mask(cpu)) {
+               if (cpu == sibling)
+                       continue;
+
+               if (!idle_cpu(sibling))
+                       return false;
+       }
+#endif
+
+       return true;
+}
+
 #ifdef CONFIG_NUMA
 #define NUMA_IMBALANCE_MIN 2
 
@@ -1700,23 +1717,6 @@ struct numa_stats {
        int idle_cpu;
 };
 
-static inline bool is_core_idle(int cpu)
-{
-#ifdef CONFIG_SCHED_SMT
-       int sibling;
-
-       for_each_cpu(sibling, cpu_smt_mask(cpu)) {
-               if (cpu == sibling)
-                       continue;
-
-               if (!idle_cpu(sibling))
-                       return false;
-       }
-#endif
-
-       return true;
-}
-
 struct task_numa_env {
        struct task_struct *p;