Am 03.06.2011 13:24, schrieb Alex Ionescu:
Ah, I didn't see the caller.
There's still the issue of the missing volatile. It's required to make sure there is strict ordering between the spinlock acquisition and the increment/decrement.
Ordering is guaranteed, since the spinlock functions act as memory barriers, otherwise a lot of our code wouldn't work. Suggested reading: http://kernel.org/doc/Documentation/volatile-considered-harmful.txt
Regards, Timo