On Fri, 2006-12-08 at 21:15 +0100, Arnd Bergmann wrote:
On Friday 08 December 2006 21:05, Wolfgang Grandegger wrote:
quoted
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.