Re: [PATCH 2/2] ix86: atomic64 assembly improvements

From: H. Peter Anvin
Date: Wed Jan 18 2012 - 11:36:46 EST


On 01/18/2012 06:24 AM, Jan Beulich wrote:
> The cmpxchg8b variants of "set" and "xchg" are really identical, and
> hence don't need to be repeated: %ebx and %ecx don't need to be copied
> into %eax and %edx respectively (this is only necessary when desiring
> to only read the stored value), and the LOCK prefix should also be used
> in "set" (other than the comment that is now being removed was saying,
> there is - to my knowledge - no *architectural* guarantee that aligned
> 64-bit writes would always be carried out atomically).

EWHAT?

It's atomic in the same way a MOV is atomic.

The CPU could, in fact, execute the locked version at all if the
unlocked version didn't behave like that.

Unless you have a specific instance where you think this might be
violated, please let me know.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

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