Re: Memory barriers and spin_unlock safety

From: Linus Torvalds
Date: Fri Mar 03 2006 - 17:20:00 EST




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