[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20080429234050.GA17936@lixom.net>
Date: Tue, 29 Apr 2008 18:40:50 -0500
From: Olof Johansson <olof@...om.net>
To: Christian Borntraeger <borntraeger@...ibm.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
"David S. Miller" <davem@...emloft.net>,
Heiko Carstens <heiko.carstens@...ibm.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] 2.6.25+: Fix cpu hotplug in softirq code
On Thu, Apr 24, 2008 at 09:13:11PM +0200, Christian Borntraeger wrote:
> Hello Olof,
>
> currently cpu hotplug (unplug) seems broken on s390 and likely others. On cpu
> unplug the system starts to behave very strange and hangs.
>
> I bisected the problem to the following commit:
>
> -----
> commit 48f20a9a9488c432fc86df1ff4b7f4fa895d1183
> Author: Olof Johansson <olof@...om.net>
> Date: Tue Mar 4 15:23:25 2008 -0800
> tasklets: execute tasklets in the same order they were queued
> -----
>
> Reverting this patch seems to fix the problem. I looked into takeover_tasklet
> and it seems that there is a way to corrupt the tail pointer of the current
> cpu. If the tasklet list of the frozen cpu is empty, the tail pointer of the
> current cpu points to the address of the head pointer of the stopped cpu and
> not to the next pointer of a tasklet_struct.
>
> This patch avoids the list splice of the list is empty and cpu hotplug seems
> to work as the tail pointer is not corrupted.
> Olof, can you look into that patch and ACK/NACK it so Andrew can push this to
> Linus, if appropriate?
> Please note that some lines are longer than 80 chars, but line-wrapping looked
> worse that this version.
>
> Signed-off-by: Christian Borntraeger <borntraeger@...ibm.com>
I don't have a hotplug-capable system to test on, but the patch looks
good to me. Good catch.
Acked-by: Olof Johansson <olof@...om.net>
-Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists