Re: [PATCH] i386/x86-64: Fix timer SMP bootup race

From: Andrew Morton
Date: Sat Jan 15 2005 - 01:30:26 EST


Andi Kleen <ak@xxxxxxx> wrote:
>
> This fixes a long standing race in 2.6 i386/x86-64 SMP boot.
> The per CPU timers would only get initialized after an secondary
> CPU was running. But during initialization the secondary CPU would
> already enable interrupts to compute the jiffies. When a per
> CPU timer fired in this window it would run into a BUG in timer.c
> because the timer heap for that CPU wasn't fully initialized.

Why don't we just not call calibrate_delay() on the secondaries? It
doesn't seem to do anything. That way we can leave local interrupts
disabled.

If for some reason we still want the bogomips printk, call
calibrate_delay() from the CPU_UP_PREPARE handler?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/