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

From: Jan Beulich
Date: Thu Jan 19 2012 - 10:10:52 EST


>>> On 19.01.12 at 15:59, "H. Peter Anvin" <hpa@xxxxxxxxx> wrote:
> On 01/19/2012 06:50 AM, Jan Beulich wrote:
>>>
>>> It doesn't have anything to do with caches on or off.
>>
>> How does it not? If any part of the bus topology is only 32 bits wide,
>> a 64-bit read or write simply can't be executed atomically without
>> asserting LOCK#.
>>
>
> Furthermore, if you're going down that rathole then we can't even trust
> MOV (nor, for that matter, can you trust LOCK in a lot of

No - (general register) MOV is at most 32 bits wide.

> circumstances.) In short, you need to be extremely careful about what
> you do to uncached memory *at all* (and you need to know exactly what is
> behind this bus) but pessimizing these kinds of construct for that
> reason is wrong in the extreme.

Okay, despite not being fully convinced I'll undo the folding of set and
xchg then, and re-submit.

Jan

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