aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/smpboot.c
diff options
context:
space:
mode:
authorRohit Seth <rohitseth@google.com>2006-06-27 05:53:46 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-27 20:32:37 -0400
commit4b89aff930d632be10d557d08d1b60dee7163dbe (patch)
treef7d854a81b9c5b1b4e6df01cb78ce9ff34684309 /arch/i386/kernel/smpboot.c
parent7f35bf929ffe2b3967c8f398880fcb78fcd2ab5c (diff)
[PATCH] i386: move phys_proc_id and cpu_core_id to cpuinfo_x86
Move the phys_core_id and cpu_core_id to cpuinfo_x86 structure. Similar patch for x86_64 is already accepted by Andi earlier this week. [akpm@osdl.org: fix warning] Signed-off-by: Rohit Seth <rohitseth@google.com> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
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