[RFC PATCH] ARM: smp: Fix the CPU hotplug race with scheduler.

Santosh Shilimkar santosh.shilimkar at ti.com
Mon Jun 20 06:47:58 EDT 2011


On 6/20/2011 4:14 PM, Russell King - ARM Linux wrote:
> On Mon, Jun 20, 2011 at 03:58:03PM +0530, Santosh Shilimkar wrote:
>> No it doesn't work. I still get the crash. The important point
>> here is not to enable interrupts before CPU is marked
>> as online and active.
>
> What is the crash (in full please)?
>
> Do we know what interrupt is causing it?
Yes. It's because of interrupt and the CPU active-online
race.

Here is the chash log..
[   21.025451] CPU1: Booted secondary processor
[   21.025451] CPU1: Unknown IPI message 0x1
[   21.029113] Switched to NOHz mode on CPU #1
[   21.029174] BUG: spinlock lockup on CPU#1, swapper/0, c06220c4
[   21.029235] [<c0064704>] (unwind_backtrace+0x0/0xf4) from 
[<c028edc8>] (do_raw_spin_lock+0xd0/0x164)
[   21.029266] [<c028edc8>] (do_raw_spin_lock+0xd0/0x164) from 
[<c00cc3c4>] (tick_do_update_jiffies64+0x3c/0x118)
[   21.029296] [<c00cc3c4>] (tick_do_update_jiffies64+0x3c/0x118) from 
[<c00ccb04>] (tick_check_idle+0xb0/0x110)
[   21.029327] [<c00ccb04>] (tick_check_idle+0xb0/0x110) from 
[<c00a29cc>] (irq_enter+0x68/0x70)
[   21.029327] [<c00a29cc>] (irq_enter+0x68/0x70) from [<c00623c4>] 
(ipi_timer+0x24/0x40)
[   21.029357] [<c00623c4>] (ipi_timer+0x24/0x40) from [<c0051368>] 
(do_local_timer+0x54/0x70)
[   21.029388] [<c0051368>] (do_local_timer+0x54/0x70) from [<c048a09c>] 
(__irq_svc+0x3c/0x120)
[   21.029388] Exception stack(0xef87bf78 to 0xef87bfc0)
[   21.029388] bf60: 
    00000000 00026ec0
[   21.029418] bf80: c0622080 ffff7483 c0622080 ffff7483 ef87a000 
00000000 c0622080 411fc092
[   21.029418] bfa0: c063a4f0 00000000 00000001 ef87bfc0 c0482e08 
c0482b0c 60000113 ffffffff
[   21.029449] [<c048a09c>] (__irq_svc+0x3c/0x120) from [<c0482b0c>] 
(calibrate_delay+0x8c/0x1d4)
[   21.029479] [<c0482b0c>] (calibrate_delay+0x8c/0x1d4) from 
[<c0482e08>] (secondary_start_kernel+0x110/0x1ac)
[   21.029510] [<c0482e08>] (secondary_start_kernel+0x110/0x1ac) from 
[<c0070ee4>] (platform_cpu_die+0x34/0x54)
[   22.021362] CPU1: failed to come online
[   23.997955] CPU1: failed to come online
[   25.000122] BUG: spinlock lockup on CPU#0, kthreadd/663, efa27e64
[   25.006408] [<c0064704>] (unwind_backtrace+0x0/0xf4) from 
[<c028edc8>] (do_raw_spin_lock+0xd0/0x164)
[   25.015808] [<c028edc8>] (do_raw_spin_lock+0xd0/0x164) from 
[<c048985c>] (_raw_spin_lock_irqsave+0x4c/0x58)
[   25.025848] [<c048985c>] (_raw_spin_lock_irqsave+0x4c/0x58) from 
[<c008ba24>] (complete+0x1c/0x5c)
[   25.035095] [<c008ba24>] (complete+0x1c/0x5c) from [<c00baf78>] 
(kthread+0x68/0x90)
[   25.042968] [<c00baf78>] (kthread+0x68/0x90) from [<c005dfdc>] 
(kernel_thread_exit+0x0/0x8)





More information about the linux-arm-kernel mailing list