summaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/setup.c
diff options
context:
space:
mode:
authorholt@sgi.com <holt@sgi.com>2008-04-03 15:17:13 -0500
committerTony Luck <tony.luck@intel.com>2008-04-08 13:51:35 -0700
commit2c6e6db41f01b6b4eb98809350827c9678996698 (patch)
tree00438344c0ad599c1301db2abe32a4c2ee89b607 /arch/ia64/kernel/setup.c
parent41bd26d67c41e325c6b9e56aadfe9dad8af9a565 (diff)
downloadlinux-2c6e6db41f01b6b4eb98809350827c9678996698.tar.gz
linux-2c6e6db41f01b6b4eb98809350827c9678996698.tar.bz2
linux-2c6e6db41f01b6b4eb98809350827c9678996698.zip
[IA64] Minimize per_cpu reservations.
This attached patch significantly shrinks boot memory allocation on ia64. It does this by not allocating per_cpu areas for cpus that can never exist. In the case where acpi does not have any numa node description of the cpus, I defaulted to assigning the first 32 round-robin on the known nodes.. For the !CONFIG_ACPI I used for_each_possible_cpu(). Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/setup.c')
-rw-r--r--arch/ia64/kernel/setup.c2
1 files changed, 2 insertions, 0 deletions
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)
acpi_table_init();
# ifdef CONFIG_ACPI_NUMA
acpi_numa_init();
+ per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ?
+ 32 : cpus_weight(early_cpu_possible_map)), additional_cpus);
# endif
#else
# ifdef CONFIG_SMP