Re: [stable] Regression in 2.6.32.2: segfault on halt

Holger Hoffstätte
2009-12-20T15:24:47Z

(sorry for the dupes)

Mike Galbraith wrote:
> On Sun, 2009-12-20 at 14:27 +0100, Holger Hoffstätte wrote:
>
>> Took me some time (still learning git - I usually use hg) but I just
>> managed to fix it by reverting not the bisected revision (won't compile
>> any longer), but the follow-up "cleanup & fix":
>>
>> >From 35c1ee3e78766d5666f418af638def9c67e63ecb Mon Sep 17 00:00:00 2001
>> From: Mike Galbraith <efault@gmx.de>
>> Date: Tue, 10 Nov 2009 03:50:02 +0100
>> Subject: [PATCH] sched: Fix and clean up rate-limit newidle code
>>
>> commit eae0c9dfb534cb3449888b9601228efa6480fdb5 upstream.
>>
>> Commit 1b9508f, "Rate-limit newidle" has been confirmed to fix
>> the netperf UDP loopback regression reported by Alex Shi.
>>
>> This is a cleanup and a fix:
>>
>> - moved to a more out of the way spot
>>
>> - fix to ensure that balancing doesn't try to balance
>> runqueues which haven't gone online yet, which can
>> mess up CPU enumeration during boot.
>>
>> Reported-by: Alex Shi <alex.shi@intel.com>
>> Reported-by: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
>> Signed-off-by: Mike Galbraith <efault@gmx.de>
>> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
>> LKML-Reference: <1257821402.5648.17.camel@marge.simson.net>
>> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>>
>> aka:
>> http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.32.y.git;a=commit;h=35c1ee3e78766d5666f418af638def9c67e63ecb
>>
>> Reverting this from a clean 32.2 tree results in a kernel with newidle
>> fix, but still working halt/reboot. The only difference between this and
>> the bisected one is the additional change in cpumask handling.
>>
>> That was more fun than expected :)
>
> Egad. Reverting the cpumask bit alone cures the problem?

Yup. I manually changed both cpumask_copy(..) lines back to
cpumask_setall(..) in a clean .32.2 tree and can halt the resulting kernel
without problems.

Holger