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

From: Shan Hai
Date: Thu Sep 01 2011 - 20:48:31 EST


On 09/01/2011 06:11 PM, Thomas Gleixner wrote:
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.


Will correct it in the V3 patch, thanks for the advice.

Cheers
Shan Hai

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/

--
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/