[PATCH 7/8] ARM: Convert boot_lock to raw_lock [ux500]

Linus Walleij linus.walleij at linaro.org
Tue Jan 7 09:05:33 EST 2014


On Fri, Dec 20, 2013 at 10:47 AM, Sebastian Andrzej Siewior
<bigeasy at linutronix.de> wrote:

> From: Frank Rowand <frank.rowand at am.sony.com>
>
> The arm boot_lock is used by the secondary processor startup code.  The locking
> task is the idle thread, which has idle->sched_class == &idle_sched_class.
> idle_sched_class->enqueue_task == NULL, so if the idle task blocks on the
> lock, the attempt to wake it when the lock becomes available will fail:
>
> try_to_wake_up()
>    ...
>       activate_task()
>          enqueue_task()
>             p->sched_class->enqueue_task(rq, p, flags)
>
> Fix by converting boot_lock to a raw spin lock.
>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: Frank Rowand <frank.rowand at sonymobile.com>
> Signed-off-by: Frank Rowand <frank.rowand at am.sony.com>
> Link: http://lkml.kernel.org/r/4E77B952.3010606@am.sony.com
> Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>

A bit late I guess, but anyway:
Acked-by: Linus Walleij <linus.walleij at linaro.org>

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list