Skip to content

[4.1.x] GCC atomics: acquire thread-fence was busted until GCC 8.1.0 #10723

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

Merged
merged 1 commit into from
Aug 29, 2022

Conversation

devreal
Copy link
Contributor

@devreal devreal commented Aug 26, 2022

GCC's acquire thread-fence was busted until GCC 8.1.0 (similar for C11). Check godbolt for an example compiled with GCC 7 and 8. Notice that the load of x is optimized out of the loop when compiling with GCC 7. We had previously updated the version of the busted GCC for the C11 atomics (#10118).

Partial cherry-pick of #10721 to 4.1.x.

Signed-off-by: Joseph Schuchart <[email protected]>
(cherry picked from commit e72273a)
@devreal devreal requested a review from bwbarrett August 26, 2022 21:27
@devreal devreal changed the title [4.1.xGCC atomics: acquire thread-fence was busted until GCC 8.1.0 [4.1.x] GCC atomics: acquire thread-fence was busted until GCC 8.1.0 Aug 26, 2022
@gpaulsen
Copy link
Member

@devreal Why only a partial cherry-pick?

@devreal
Copy link
Contributor Author

devreal commented Aug 29, 2022

@gpaulsen In 4.1.x, an atomic variable was a structure so the missing part of that cherry-pick does not apply. The initialization was correct in 4.1.x.

@bwbarrett bwbarrett merged commit 2e07340 into open-mpi:v4.1.x Aug 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants