sched/fair: Move is_core_idle() out of CONFIG_NUMA
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
This commit is contained in:
Родитель
ac9a78681b
Коммит
8b36d07f1d
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче