Re: [PATCH]broadcast IPI race condition on CPU hotplug
From: Zwane Mwaikambo
Date: Tue Apr 26 2005 - 20:00:15 EST
On Tue, 26 Apr 2005, Andi Kleen wrote:
> On Tue, Apr 26, 2005 at 10:20:44AM +0800, Li Shaohua wrote:
> > Hi,
> > After a CPU is booted but before it's officially up (set online map, and
> > enable interrupt), the CPU possibly will receive a broadcast IPI. After
> > it's up, it will handle the stale interrupt soon and maybe cause oops if
> > it's a smp-call-function-interrupt. This is quite possible in CPU
> > hotplug case, but nearly can't occur at boot time. Below patch replaces
> > broadcast IPI with send_ipi_mask just like the cluster mode.
> No way we are making this common operation much slower just
> to fix an obscure race at boot time. PLease come up with a fix
> that only impacts the boot process.
The fix only for smp_call_function seems fine to me since we really don't
want to broadcast to all processors but only online ones.
smp_call_function is particularly dangerous because the interrupt handler
accesses stack data which wouldn't be persistent due to the calling
processor not waiting for non online processors.
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/