void
cfs_cpu_core_siblings(int cpu, cpumask_t *mask)
{
-#if defined(HAVE_TOPOLOGY_CORE_CPUMASK) && defined(HAVE_CPUMASK_COPY)
/* return cpumask of cores in the same socket */
cpumask_copy(mask, topology_core_cpumask(cpu));
-#elif defined(HAVE_TOPOLOGY_CORE_SIBLINGS)
- *mask = topology_core_siblings(cpu);
-#else
- cpus_clear(*mask);
- cpu_set(cpu, *mask);
-#endif
}
EXPORT_SYMBOL(cfs_cpu_core_siblings);
void
cfs_cpu_ht_siblings(int cpu, cpumask_t *mask)
{
-#if defined(HAVE_TOPOLOGY_THREAD_CPUMASK) && defined(HAVE_CPUMASK_COPY)
cpumask_copy(mask, topology_thread_cpumask(cpu));
-#elif defined(HAVE_TOPOLOGY_THREAD_SIBLINGS)
- *mask = topology_thread_siblings(cpu);
-#else
- cpus_clear(*mask);
- cpu_set(cpu, *mask);
-#endif
}
EXPORT_SYMBOL(cfs_cpu_ht_siblings);
void
cfs_node_to_cpumask(int node, cpumask_t *mask)
{
-#if defined(HAVE_CPUMASK_OF_NODE) && defined(HAVE_CPUMASK_COPY)
cpumask_copy(mask, cpumask_of_node(node));
-#elif defined(HAVE_NODE_TO_CPUMASK)
- *mask = node_to_cpumask(node);
-#else
- cpus_clear(*mask);
- for_each_online_cpu(i) {
- if (cpu_to_node(i) == node)
- cpu_set(i, *mask);
- }
-#endif
}
EXPORT_SYMBOL(cfs_node_to_cpumask);