On 07/24/2018 01:17 PM, Andrew Dinn wrote:
> I'm also now unsure that a DMB(ISHST)is actually adequate. The relevant
> text from the ARM ARM is at the end of the text I previously cited.
> 
> "In all cases, where the text in this section refers to a DMB or a DSB ,
> this means a DMB or DSB whose required access type is both loads and
> stores."
> 
> I think that means that the pmem_drain barrier has to be a DMB(ISH) not
> a DMB(ISHST). I'm not really sure why but it does seem to be the
> implication.

Probably, but that's OK.  DMB(ISHST) is only a StoreStore, and I
suspect you want LoadStore as well anyway.  StoreStore on its own is
only in practice correct if what you're storing before the barrier
instruction is constant data, and that's really not true in this case.

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

Reply via email to