failed store exclusives should prevent pairing of preceding load exclusives
Closed this issue · 4 comments
Line 112 in 7c2a817
There is a blind spot somewhere (maybe here): if there is a load exclusive followed by a failed store exclusive, then a later (successful) store exclusive should not be allowed pair with this load exclusive.
Right.. Thanks for pointing out a nasty bug!
Probably we need to do one of the following two options:
- Insert write-failure event in the graph. But it deviates from the standard presenatation, right?
- Construct
rmw
in the execution. I think we need to go this way..
Currently I'm not sure which is the best way in terms of formalization. I'll leave this issue open, and resolve it during proving the simulations.
Now the issue is resolved: rmw
is constructed in the axiomatic execution, and failed store exclusives prevent paring of preceding load exclusives.
Regarding @cp526's comment, let's temporarily assume only ldrex/stlex on the same location are paired. I'm opening a new issue #8 on this, and closing this issue.