|
@@ -67,7 +67,7 @@ int smp_num_siblings = 1;
|
|
EXPORT_SYMBOL(smp_num_siblings);
|
|
EXPORT_SYMBOL(smp_num_siblings);
|
|
|
|
|
|
/* Last level cache ID of each logical CPU */
|
|
/* Last level cache ID of each logical CPU */
|
|
-int cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID};
|
|
|
|
|
|
+DEFINE_PER_CPU(u8, cpu_llc_id) = BAD_APICID;
|
|
|
|
|
|
/* representing HT siblings of each logical CPU */
|
|
/* representing HT siblings of each logical CPU */
|
|
DEFINE_PER_CPU(cpumask_t, cpu_sibling_map);
|
|
DEFINE_PER_CPU(cpumask_t, cpu_sibling_map);
|
|
@@ -348,8 +348,8 @@ void __cpuinit set_cpu_sibling_map(int cpu)
|
|
}
|
|
}
|
|
|
|
|
|
for_each_cpu_mask(i, cpu_sibling_setup_map) {
|
|
for_each_cpu_mask(i, cpu_sibling_setup_map) {
|
|
- if (cpu_llc_id[cpu] != BAD_APICID &&
|
|
|
|
- cpu_llc_id[cpu] == cpu_llc_id[i]) {
|
|
|
|
|
|
+ if (per_cpu(cpu_llc_id, cpu) != BAD_APICID &&
|
|
|
|
+ per_cpu(cpu_llc_id, cpu) == per_cpu(cpu_llc_id, i)) {
|
|
cpu_set(i, c[cpu].llc_shared_map);
|
|
cpu_set(i, c[cpu].llc_shared_map);
|
|
cpu_set(cpu, c[i].llc_shared_map);
|
|
cpu_set(cpu, c[i].llc_shared_map);
|
|
}
|
|
}
|