snu-sf/promising-arm

failed store exclusives should prevent pairing of preceding load exclusives

Closed this issue · 4 comments

opqrs commented

| step_write_failure

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..
cp526 commented

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.