diff options
author | Tony Luck <tony.luck@intel.com> | 2008-04-17 13:12:55 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-04-17 13:12:55 -0400 |
commit | fc494d6c1825de37f04abe147741d50be08403ab (patch) | |
tree | ab7b5f8a0732c3b588e958033fddb9029744097e /arch/ia64/kernel | |
parent | 78514c106b90b628a90c630a3bc87a6538aed865 (diff) | |
parent | 2c6e6db41f01b6b4eb98809350827c9678996698 (diff) |
Pull percpureserve into release branch
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 4 | ||||
-rw-r--r-- | arch/ia64/kernel/numa.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 78f28d825f30..c7467f863c7a 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -423,6 +423,7 @@ static u32 __devinitdata pxm_flag[PXM_FLAG_LEN]; | |||
423 | #define pxm_bit_set(bit) (set_bit(bit,(void *)pxm_flag)) | 423 | #define pxm_bit_set(bit) (set_bit(bit,(void *)pxm_flag)) |
424 | #define pxm_bit_test(bit) (test_bit(bit,(void *)pxm_flag)) | 424 | #define pxm_bit_test(bit) (test_bit(bit,(void *)pxm_flag)) |
425 | static struct acpi_table_slit __initdata *slit_table; | 425 | static struct acpi_table_slit __initdata *slit_table; |
426 | cpumask_t early_cpu_possible_map = CPU_MASK_NONE; | ||
426 | 427 | ||
427 | static int get_processor_proximity_domain(struct acpi_srat_cpu_affinity *pa) | 428 | static int get_processor_proximity_domain(struct acpi_srat_cpu_affinity *pa) |
428 | { | 429 | { |
@@ -482,6 +483,7 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) | |||
482 | (pa->apic_id << 8) | (pa->local_sapic_eid); | 483 | (pa->apic_id << 8) | (pa->local_sapic_eid); |
483 | /* nid should be overridden as logical node id later */ | 484 | /* nid should be overridden as logical node id later */ |
484 | node_cpuid[srat_num_cpus].nid = pxm; | 485 | node_cpuid[srat_num_cpus].nid = pxm; |
486 | cpu_set(srat_num_cpus, early_cpu_possible_map); | ||
485 | srat_num_cpus++; | 487 | srat_num_cpus++; |
486 | } | 488 | } |
487 | 489 | ||
@@ -559,7 +561,7 @@ void __init acpi_numa_arch_fixup(void) | |||
559 | } | 561 | } |
560 | 562 | ||
561 | /* set logical node id in cpu structure */ | 563 | /* set logical node id in cpu structure */ |
562 | for (i = 0; i < srat_num_cpus; i++) | 564 | for_each_possible_early_cpu(i) |
563 | node_cpuid[i].nid = pxm_to_node(node_cpuid[i].nid); | 565 | node_cpuid[i].nid = pxm_to_node(node_cpuid[i].nid); |
564 | 566 | ||
565 | printk(KERN_INFO "Number of logical nodes in system = %d\n", | 567 | printk(KERN_INFO "Number of logical nodes in system = %d\n", |
diff --git a/arch/ia64/kernel/numa.c b/arch/ia64/kernel/numa.c index a78b45f5fe2f..c93420c97409 100644 --- a/arch/ia64/kernel/numa.c +++ b/arch/ia64/kernel/numa.c | |||
@@ -73,7 +73,7 @@ void __init build_cpu_to_node_map(void) | |||
73 | for(node=0; node < MAX_NUMNODES; node++) | 73 | for(node=0; node < MAX_NUMNODES; node++) |
74 | cpus_clear(node_to_cpu_mask[node]); | 74 | cpus_clear(node_to_cpu_mask[node]); |
75 | 75 | ||
76 | for(cpu = 0; cpu < NR_CPUS; ++cpu) { | 76 | for_each_possible_early_cpu(cpu) { |
77 | node = -1; | 77 | node = -1; |
78 | for (i = 0; i < NR_CPUS; ++i) | 78 | for (i = 0; i < NR_CPUS; ++i) |
79 | if (cpu_physical_id(cpu) == node_cpuid[i].phys_id) { | 79 | if (cpu_physical_id(cpu) == node_cpuid[i].phys_id) { |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 4aa9eaea76c3..6206541f9e87 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -493,6 +493,8 @@ setup_arch (char **cmdline_p) | |||
493 | acpi_table_init(); | 493 | acpi_table_init(); |
494 | # ifdef CONFIG_ACPI_NUMA | 494 | # ifdef CONFIG_ACPI_NUMA |
495 | acpi_numa_init(); | 495 | acpi_numa_init(); |
496 | per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ? | ||
497 | 32 : cpus_weight(early_cpu_possible_map)), additional_cpus); | ||
496 | # endif | 498 | # endif |
497 | #else | 499 | #else |
498 | # ifdef CONFIG_SMP | 500 | # ifdef CONFIG_SMP |