Memory barriers and spin_unlock safety
Linus Torvalds
torvalds at osdl.org
Sat Mar 4 09:21:58 EST 2006
On Fri, 3 Mar 2006, Benjamin LaHaise wrote:
>
> Actually, no. At least in testing an implementation of Dekker's and
> Peterson's algorithms as a replacement for the locked operation in
> our spinlocks, it is absolutely necessary to have an sfence in the lock
> to ensure the lock is visible to the other CPU before proceeding.
I suspect you have some bug in your implementation. I think Dekker's
algorithm depends on the reads and writes being ordered, and you don't
seem to do that.
The thing is, you pretty much _have_ to be wrong, because the x86-64
memory ordering rules are _exactly_ the same as for x86, and we've had
that simple store as an unlock for a long long time.
Linus
More information about the Linuxppc64-dev
mailing list