Re: [PATCH] clockevent: don't remove broadcast device when cpu is dead

From: Marc Dionne
Date: Tue Jan 12 2010 - 20:28:37 EST


On Tue, Jan 12, 2010 at 8:20 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Thu, 7 Jan 2010, Xiaotian Feng wrote:
>
>> Marc reported BUG during shutdown, after debugging, kernel is trying
>> to remove a broadcast device which mode is CLOCK_EVT_MODE_ONESHOT.
>>
>> The root cause for this bug is that in clockevents_notify,
>> "cpumask_weight(dev->cpumask) == 1" is always true even if dev is a
>
> Why is cpumask_weight(dev->cpumask) == 1 always true when we shutdown
> a non boot cpu ?
>
> The broadcast device is not a per cpu device and the cpumask should
> not only contain the CPU which is shut down !
>
> The patch is papering over the real problem.
>
> Marc, can you please apply the following debug patch and provide the
> dmesg outputs from boot and shutdown ?
>
> Thanks,
>
>        tglx

Full dmesg output from boot is attached.

On shutdown I wrote down the message just before the BUG by hand
(after modifying your patch a little to let it BUG):

CE Remove ffffffff81a44100 hpet bc: 1

Marc

Attachment: boot_ce
Description: Binary data