[RFC PATCH] ARM64: cmpxchg.h: Clear the exclusive access bit on fail

Pranith Kumar bobby.prani at gmail.com
Fri Feb 27 11:15:57 PST 2015


On Fri, Feb 27, 2015 at 2:08 PM, Mark Rutland <mark.rutland at arm.com> wrote:
> On Fri, Feb 27, 2015 at 06:44:19PM +0000, Pranith Kumar wrote:
>> On Fri, Feb 27, 2015 at 1:33 PM, Catalin Marinas
>> <catalin.marinas at arm.com> wrote:
>> > It's either badly formatted or I don't get it. Are the "stxr x1" and
>> > "stxr x7" happening on the same CPU (P0)? If yes, that's badly written
>> > code, not even architecturally compliant (you are not allowed other
>> > memory accesses between ldxr and stxr).
>>
>> OK. Is that the same case with ldaxr (acquire) and stlxr (release)?
>> AFAIK, memory accesses between acquire and release exclusive
>> operations are allowed.
>
> The restriction on memory accesses in the middle of a load-exclusive
> store-exclusive sequence applies to all the load/store-exclusive
> variants, including ldaxr and stlxr.
>

Thanks Mark. I am trying to see where this restriction is documented.
Looking at: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/a64_data_transfer_alpha.html
I do not see that mentioned. The only restriction relevant is that a
stxr should use the same address as the most recent ldxr.

Could you please point me to the relevant documentation?

Thanks!
-- 
Pranith



More information about the linux-arm-kernel mailing list