Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Difference between rmw and amo #1006

Open
hernanponcedeleon opened this issue Oct 14, 2024 · 0 comments
Open

Difference between rmw and amo #1006

hernanponcedeleon opened this issue Oct 14, 2024 · 0 comments

Comments

@hernanponcedeleon
Copy link
Contributor

The documentation defines these realtions as

rmw : relate the read and write events emitted by matching successful load-reserve store conditional instructions, or atomic rmw instructions.
amo: relate the read and write events emitted by atomic rmw instructions.

The second part of the former sounds equivalent to the later to me.

I am right that this mean amo is a subset of rmw, and anything "extra" in rmw is related to load-reserve store conditional instructions? What is the rational of having this rather than having amo as it is, some relation x: relate the read and write events emitted by matching successful load-reserve store conditional instructions and let rmw = x | amo. Some old aarch64 models seem to be following this idea.

Or is this somehow related to the fact that some RMW instructions are represented a single event while other are split into their read and write parts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant