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

clean up memory fence and compare-and-swap kernel functions #826

Merged
merged 1 commit into from
Apr 13, 2024

Conversation

mflatt
Copy link
Contributor

@mflatt mflatt commented Apr 8, 2024

CAS variants with different fence properties in "atomic.h" ware a leftover from an early experiment in parallel garbage collection, and that experiment did not turn out to be a good idea. The CAS variants were left half-implemented, and they're not needed, so this commit simplifies to reflect the needed functionality. Also, the commit adds comments to clarify that CAS support is used only for pb mode and to explain trade-offs for inline assembly and compiler intrinsics.

Small repairs to the build scripts enable pbarch builds on Windows, for what it's worth. Otherwise, this is just an internal clean-up and does not add anything new or fix any bugs.

CAS variants with different fence properties in "atomic.h" ware a
leftover from an early experiment in parallel garbage collection, and
that experiment did not turn out to be a good idea. The CAS variants
were left half-implemented, and they're not needed, so this commit
simplifies to reflect the needed functionality. Also, the commit adds
comments to clarify that CAS support is used only for pb mode and to
explain trade-offs for inline assembly and compiler intrinsics.

Small repairs to the build scripts enable pbarch builds on Windows,
for what it's worth. Otherwise, this is just an internal clean-up and
does not add anything new or fix any bugs.
@mflatt mflatt merged commit 08a45e5 into cisco:main Apr 13, 2024
15 checks passed
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

Successfully merging this pull request may close these issues.

2 participants