aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/smpboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r--arch/i386/kernel/smpboot.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index 9466a3c9ff0d..ab5275beddf7 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -67,12 +67,6 @@ int smp_num_siblings = 1;
67EXPORT_SYMBOL(smp_num_siblings); 67EXPORT_SYMBOL(smp_num_siblings);
68#endif 68#endif
69 69
70/* Package ID of each logical CPU */
71int phys_proc_id[NR_CPUS] __read_mostly = {[0 ... NR_CPUS-1] = BAD_APICID};
72
73/* Core ID of each logical CPU */
74int cpu_core_id[NR_CPUS] __read_mostly = {[0 ... NR_CPUS-1] = BAD_APICID};
75
76/* Last level cache ID of each logical CPU */ 70/* Last level cache ID of each logical CPU */
77int cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID}; 71int cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID};
78 72
@@ -473,8 +467,8 @@ set_cpu_sibling_map(int cpu)
473 467
474 if (smp_num_siblings > 1) { 468 if (smp_num_siblings > 1) {
475 for_each_cpu_mask(i, cpu_sibling_setup_map) { 469 for_each_cpu_mask(i, cpu_sibling_setup_map) {
476 if (phys_proc_id[cpu] == phys_proc_id[i] && 470 if (c[cpu].phys_proc_id == c[i].phys_proc_id &&
477 cpu_core_id[cpu] == cpu_core_id[i]) { 471 c[cpu].cpu_core_id == c[i].cpu_core_id) {
478 cpu_set(i, cpu_sibling_map[cpu]); 472 cpu_set(i, cpu_sibling_map[cpu]);
479 cpu_set(cpu, cpu_sibling_map[i]); 473 cpu_set(cpu, cpu_sibling_map[i]);
480 cpu_set(i, cpu_core_map[cpu]); 474 cpu_set(i, cpu_core_map[cpu]);
@@ -501,7 +495,7 @@ set_cpu_sibling_map(int cpu)
501 cpu_set(i, c[cpu].llc_shared_map); 495 cpu_set(i, c[cpu].llc_shared_map);
502 cpu_set(cpu, c[i].llc_shared_map); 496 cpu_set(cpu, c[i].llc_shared_map);
503 } 497 }
504 if (phys_proc_id[cpu] == phys_proc_id[i]) { 498 if (c[cpu].phys_proc_id == c[i].phys_proc_id) {
505 cpu_set(i, cpu_core_map[cpu]); 499 cpu_set(i, cpu_core_map[cpu]);
506 cpu_set(cpu, cpu_core_map[i]); 500 cpu_set(cpu, cpu_core_map[i]);
507 /* 501 /*
@@ -1353,8 +1347,8 @@ remove_siblinginfo(int cpu)
1353 cpu_clear(cpu, cpu_sibling_map[sibling]); 1347 cpu_clear(cpu, cpu_sibling_map[sibling]);
1354 cpus_clear(cpu_sibling_map[cpu]); 1348 cpus_clear(cpu_sibling_map[cpu]);
1355 cpus_clear(cpu_core_map[cpu]); 1349 cpus_clear(cpu_core_map[cpu]);
1356 phys_proc_id[cpu] = BAD_APICID; 1350 c[cpu].phys_proc_id = 0;
1357 cpu_core_id[cpu] = BAD_APICID; 1351 c[cpu].cpu_core_id = 0;
1358 cpu_clear(cpu, cpu_sibling_setup_map); 1352 cpu_clear(cpu, cpu_sibling_setup_map);
1359} 1353}
1360 1354