Re: [PATCH V2 1/1] lib/atomic64 using raw_spin_lock_irq[save|resotre]for atomicity

From: Thomas Gleixner
Date: Thu Sep 01 2011 - 06:11:16 EST


On Thu, 1 Sep 2011, Thomas Gleixner wrote:

> On Thu, 1 Sep 2011, Shan Hai wrote:
>
> > The spin_lock_irq[save|restore] could break the atomicity of the
> > atomic64_* operations in the PREEMPT-RT configuration, because
> > the spin_lock_irq[save|restore] themselves are preemptable in the
> > PREEMPT-RT, using raw variant of the spin lock could provide the
> > atomicity that atomic64_* need.
>
> Good catch. Queued for the next release.

Though the changelog is misleading. The reason is not that they are
preemtible.

The reason for your OOPs is that the sleeping locks are not IRQ
safe. And your system simply deadlocked due to that.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/