diff options
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r-- | arch/i386/kernel/smpboot.c | 16 |
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; | |||
67 | EXPORT_SYMBOL(smp_num_siblings); | 67 | EXPORT_SYMBOL(smp_num_siblings); |
68 | #endif | 68 | #endif |
69 | 69 | ||
70 | /* Package ID of each logical CPU */ | ||
71 | int phys_proc_id[NR_CPUS] __read_mostly = {[0 ... NR_CPUS-1] = BAD_APICID}; | ||
72 | |||
73 | /* Core ID of each logical CPU */ | ||
74 | int 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 */ |
77 | int cpu_llc_id[NR_CPUS] __cpuinitdata = {[0 ... NR_CPUS-1] = BAD_APICID}; | 71 | int 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 | ||