-
Notifications
You must be signed in to change notification settings - Fork 111
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
Implement Release
, AcqRel
, and SeqCst
fences
#220
Conversation
Hey! So sorry we haven't gotten back to you faster. The reality is, I am the primary maintainer here but don't have the bandwidth for ongoing maintenance if it isn't needed by Tokio. That said, it looks like you have expertise in the area. Would you be interested in getting involved on a regular basis and help maintain Loom? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. It looks like you know what you are talking about, so I'm going to trust you on this :) As mentioned in an earlier comment, Loom needs more dedicated maintainers and I'm hoping you can help out. Feel free to ping us in the loom channel on https://discord.gg/tokio
Hi. I probably won't be able to actively engage in the maintenance tasks in the next 2 months, but I can take some time to monitor the issues and review the PRs. BTW, I added a commit to list the unsupported features I'm aware of. |
I'll make a release soon. |
This PR implements
Release
,AcqRel
, andSeqCst
fences.Release
fence can be implemented by recording thecausality
of the thread, which is joined with the later stores (seereleased: VersionVec
).AcqRel
fence isAcquire
fence +Release
fence.SeqCst
fence uses the old implementation ofSeqCst
, which was removed in Relax how SeqCst is modelled #108 for being too strong. However, that implementation is the correct ifSeqCst
is used only for fences. Please see Atomics load with SeqCst ordering strange behaviour #180 (comment) for more information.Partially addresses #180
cc: @jeehoonkang @wvwwvwwv