On 15 December 2014 at 13:16, Paolo Bonzini <pbonz...@redhat.com> wrote: > On 15/12/2014 13:56, Mark Burton wrote: >> A third proposal is to mark pages as IO when a ld/st ex is performed to >> them. Then to augment the memory API to indicate that a ld/st ex is in >> hand, allowing the memory chain to decide if it should allow the write >> or cause a fault. This would seem to be the closest approach to the real >> H/W. However it means marking pages as IO (which could cause us issues >> if there was code on that page?, or slow things down) - and it means >> adding to the memory API. > > What are the intended semantics for reads/writes from the outside world? > Should they cause the ll/sc pair to retry or not?
Assuming that by "outside world" you mean "some other CPU in this cluster" [in ARM-speak, some other observer in the same shareability domain]: writes should. Reads should not. -- PMM