Re: Lost IPIs during CPU Hotplug

From: Heiko Carstens
Date: Tue May 21 2013 - 10:52:59 EST


On Mon, May 20, 2013 at 02:37:43PM +0200, Heiko Carstens wrote:
> I just got a dump from a system running a 3.0.something kernel, however I
> think the problem exists with current kernels as well.
>
> Testcase was some I/O intense workload together with cpu hotplug stress.
>
> When trying to bring a cpu online we got an endless loop on the cpu that
> issued the cpu_up and called smp_call_function_single() within its cpu
> hotplug notifier:

[...]

> It looks to me like the IPI(s) was lost when cpu 3 was brought down before:

[...]

> So it looks to me like yet another CPU_DYING cpu hotplug notifier is needed
> for the generic smp code, which looks for pending IPIs on the to be brought
> down cpu and executes them.
>
> Does that make sense?

Ok, I was able to reproduce it. And the fix should be in the s390 specific
arch code within __cpu_disable() just before the cpu gets removed from the
cpu online mask.
No idea why this never has been seen before.

--
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/