* [PATCH] Bugfix for system with 32 cpus
@ 2008-06-27 22:30 Luck, Tony
2008-06-28 10:15 ` Robin Holt
0 siblings, 1 reply; 2+ messages in thread
From: Luck, Tony @ 2008-06-27 22:30 UTC (permalink / raw)
To: linux-ia64
commit 180f2319663d6aece02fc0284a02944ad2cc7c98
Author: Tony Luck <tony.luck@intel.com>
Date: Fri Jun 27 14:04:21 2008 -0700
[IA64] Bugfix for system with 32 cpus
On a system where there are no hot pluggable cpus "additional_cpus"
is still set to -1 at the point where we call per_cpu_scan_finalize().
If we didn't find an SRAT table and so pick the default "32" for the
number of cpus, when we get to:
high_cpu = min(high_cpu + reserve_cpus, NR_CPUS);
we will end up initializing for just 31 cpus ... and so we will
die horribly when bringing up cpu#32.
Problem introduced by: 2c6e6db41f01b6b4eb98809350827c9678996698
"Minimize per_cpu reservations."
Signed-off-by: Tony Luck <tony.luck@intel.com>
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
index 4ae15c8..632cda8 100644
--- a/arch/ia64/kernel/setup.c
+++ b/arch/ia64/kernel/setup.c
@@ -547,7 +547,8 @@ setup_arch (char **cmdline_p)
# 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);
+ 32 : cpus_weight(early_cpu_possible_map)),
+ additional_cpus > 0 ? additional_cpus : 0);
# endif
#else
# ifdef CONFIG_SMP
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] Bugfix for system with 32 cpus
2008-06-27 22:30 [PATCH] Bugfix for system with 32 cpus Luck, Tony
@ 2008-06-28 10:15 ` Robin Holt
0 siblings, 0 replies; 2+ messages in thread
From: Robin Holt @ 2008-06-28 10:15 UTC (permalink / raw)
To: linux-ia64
Acked-by: Robin Holt <holt@sgi.com>
Sorry for the bug,
Robin
On Fri, Jun 27, 2008 at 03:30:20PM -0700, Luck, Tony wrote:
> commit 180f2319663d6aece02fc0284a02944ad2cc7c98
> Author: Tony Luck <tony.luck@intel.com>
> Date: Fri Jun 27 14:04:21 2008 -0700
>
> [IA64] Bugfix for system with 32 cpus
>
> On a system where there are no hot pluggable cpus "additional_cpus"
> is still set to -1 at the point where we call per_cpu_scan_finalize().
> If we didn't find an SRAT table and so pick the default "32" for the
> number of cpus, when we get to:
> high_cpu = min(high_cpu + reserve_cpus, NR_CPUS);
> we will end up initializing for just 31 cpus ... and so we will
> die horribly when bringing up cpu#32.
>
> Problem introduced by: 2c6e6db41f01b6b4eb98809350827c9678996698
> "Minimize per_cpu reservations."
>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
>
> diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
> index 4ae15c8..632cda8 100644
> --- a/arch/ia64/kernel/setup.c
> +++ b/arch/ia64/kernel/setup.c
> @@ -547,7 +547,8 @@ setup_arch (char **cmdline_p)
> # 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);
> + 32 : cpus_weight(early_cpu_possible_map)),
> + additional_cpus > 0 ? additional_cpus : 0);
> # endif
> #else
> # ifdef CONFIG_SMP
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-06-28 10:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-27 22:30 [PATCH] Bugfix for system with 32 cpus Luck, Tony
2008-06-28 10:15 ` Robin Holt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.