[RFC PATCH] ARM: smp: Fix the CPU hotplug race with scheduler.
Santosh Shilimkar
santosh.shilimkar at ti.com
Mon Jun 20 07:25:43 EDT 2011
On 6/20/2011 4:43 PM, Russell King - ARM Linux wrote:
> On Mon, Jun 20, 2011 at 04:17:58PM +0530, Santosh Shilimkar wrote:
>> Yes. It's because of interrupt and the CPU active-online
>> race.
>
> I don't see that as a conclusion from this dump.
>
>> 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
>
> That's the xtime seqlock. We're trying to update the xtime from CPU1,
> which is not yet online and not yet active. That's fine, we're just
> spinning on the spinlock here, waiting for the other CPUs to release
> it.
>
> But what this is saying is that the other CPUs aren't releasing it.
> The cpu hotplug code doesn't hold the seqlock either. So who else is
> holding this lock, causing CPU1 to time out on it.
>
> The other thing is that this is only supposed to trigger after about
> one second:
>
> u64 loops = loops_per_jiffy * HZ;
> for (i = 0; i< loops; i++) {
> if (arch_spin_trylock(&lock->raw_lock))
> return;
> __delay(1);
> }
>
> which from the timings you have at the beginning of your printk lines
> is clearly not the case - it's more like 61us.
>
> Are you running with those h/w timer delay patches?
Nope.
Regards
Santosh
More information about the linux-arm-kernel
mailing list