[IA64] Do not call SN_SAL_SET_CPU_NUMBER twice on cpu 0
This is an SN specific patch. Architectually, cpu_init is always called twice on cpu 0 and thus resulted in two SN_SAL_SET_CPU_NUMBER calls. This was harmless in production kernel; however, it can cause problem on booting up a crashdump kernel at Altix. Here is the patch that detects the second sn_cpu_init call and skips the second call to SN_SAL_SET_CPU_NUMBER. Signed-Off-By: Jay Lan <jlan@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
3640543df2
commit
adf142e379
|
@ -580,7 +580,7 @@ void __cpuinit sn_cpu_init(void)
|
||||||
int slice;
|
int slice;
|
||||||
int cnode;
|
int cnode;
|
||||||
int i;
|
int i;
|
||||||
static int wars_have_been_checked;
|
static int wars_have_been_checked, set_cpu0_number;
|
||||||
|
|
||||||
cpuid = smp_processor_id();
|
cpuid = smp_processor_id();
|
||||||
if (cpuid == 0 && IS_MEDUSA()) {
|
if (cpuid == 0 && IS_MEDUSA()) {
|
||||||
|
@ -605,8 +605,16 @@ void __cpuinit sn_cpu_init(void)
|
||||||
/*
|
/*
|
||||||
* Don't check status. The SAL call is not supported on all PROMs
|
* Don't check status. The SAL call is not supported on all PROMs
|
||||||
* but a failure is harmless.
|
* but a failure is harmless.
|
||||||
|
* Architechtuallly, cpu_init is always called twice on cpu 0. We
|
||||||
|
* should set cpu_number on cpu 0 once.
|
||||||
*/
|
*/
|
||||||
(void) ia64_sn_set_cpu_number(cpuid);
|
if (cpuid == 0) {
|
||||||
|
if (!set_cpu0_number) {
|
||||||
|
(void) ia64_sn_set_cpu_number(cpuid);
|
||||||
|
set_cpu0_number = 1;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
(void) ia64_sn_set_cpu_number(cpuid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The boot cpu makes this call again after platform initialization is
|
* The boot cpu makes this call again after platform initialization is
|
||||||
|
|
Loading…
Reference in New Issue