x86/smp: Fix cpuN startup panic
PATCH v2 1/1 x86/smp: Fix cpuN startup panic
From: Lin Chen <[email protected]>
We hit a panic while doing cpu hotplug test.
<0>[ 627.982857] Kernel panic - not syncing: smp_callin: CPU1 started up but did not get a callout! <0>[ 627.982864] <4>[ 627.982876] Pid: 0, comm: kworker/0:1 Tainted: G ... <4>[ 627.982883] Call Trace: <4>[ 627.982903] [<c18f2977>] panic+0x66/0x16c <4>[ 627.982918] [<c12234cc>] ? default_get_apic_id+0x1c/0x40 <4>[ 627.982931] [<c18ef96d>] start_secondary+0xda/0x252
During BSP bootup AP, it is possible that BSP be preempted before finishing STARTUP sequence of AP(set cpu_callout_mask) which maybe cause AP busy wait for it. At present, AP will wait for 2 seconds then panic.
This patch let AP waits for 60 seconds at maximum.
Signed-off-by Yanmin Zhang <[email protected]>
Signed-off-by Chen LinX <[email protected]>
--- arch/x86/kernel/smpboot.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/x86/kernel/smpboot.c +2 -2
@@ -162,9 +162,9 @@ static void __cpuinit smp_callin(void)*/ /* -* Waiting 2s total for startup (udelay is not yet working) +* Waiting 60s total for startup (udelay is not yet working) */ - timeout = jiffies +2 *HZ ; + timeout = jiffies +60 *HZ ;while (time_before (jiffies, timeout)) {/* * Has the boot CPU finished it's STARTUP sequence?
Signature · 1 line
1.7.1