tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: membar_enter semantics




> On Feb 11, 2022, at 9:03 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
> 
> 
>> On Feb 11, 2022, at 8:45 AM, Martin Husemann <martin%duskware.de@localhost> wrote:
>> 
>> so Jason is correct. For userland we default to RMO for 64bit binaries
>> (but honor their elf flags), and TSO for 32bit.
> 
> Right, v7 didn't have any barrier instructions, and v8 only had STBAR (a stores-before-stores barrier), IIRC.  I did not realize we are using RMO for 64-bit userland, tho.

So, given the existing definition of membar_enter() in the man page, sparc64's userland membar_sync() really ought to be "membar #StoreStore | #StoreLoad", and with Taylor's newly-proposed semantics it would need to be "membar #LoadLoad | #LoadStore".

The current "membar #LoadLoad" is *only* maybe-OK if you're in TSO mode, and even then I think it's dicey.

-- thorpej



Home | Main Index | Thread Index | Old Index