Is in_le32 and out_le32 atomic?
Benjamin Herrenschmidt
benh at kernel.crashing.org
Mon Dec 11 17:48:38 EST 2006
On Fri, 2006-12-08 at 21:15 +0100, Arnd Bergmann wrote:
> On Friday 08 December 2006 21:05, Wolfgang Grandegger wrote:
> > Can anybody tell me why the spin_* protection is needed? I thought that
> > 32-bit read and write operations are atomic.
> >
> The spinlocks are needed to guarantee ordering between the completion of
> the i/o access and other code. A typical problem is that a store is
> still on its way to the I/O device while the CPU has already left the
> function that initiated it, and might call code that relies on the
> value having arrived there.
That will not help much with the spinlock, especially not seeing how
they are used in the code.
I think the lock is totally spurrious in that case.
Ben.
More information about the Linuxppc-embedded
mailing list