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

v4.0.x: atomic 128 fixes #5619

Merged
merged 3 commits into from
Sep 7, 2018

Conversation

jsquyres
Copy link
Member

Bring over all 3 commits from #5546 (including the tabs->spaces commit -- it applied cleanly to the v4.0.x branch, whereas it did not apply cleanly to the v3.0.x or v3.1.x branches).

Thanks to Stefan Teleman for identifying this issue and providing a
proof-of-concept patch.  We ended up revamping the detection of
128-bit atomics to reduce duplicated code and be a slightly simpler --
albiet perhaps a bit more verbose -- approach:

- Remove the --enable-cross-* options; they were confusing and
  unnecessary.
- Always try to compile / link the compiler-intrinsic 128-bit atomic
  functions.
  - Strengthen the C tests we use to be more robust.
  - Use m4 to avoid duplicating the C tests multiple times in the .m4
    source.
- If not cross-compiling, try to run a short test and ensure that they
  actually work (as of Aug 2018, there's at least one platform where
  they don't: clang 6 on ARM64).  If cross-compiling, just assume that
  they work.
- Add more comments about what is going on with all the tests; it's
  tricky stuff.  Our Future Selves will thank us.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit ff9df91)
Whitespace change only; no code or logic changes.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 63560fe)
Thanks to George for finding/fixing these.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
(cherry picked from commit 9194dbb)
@jsquyres jsquyres added this to the v4.0.0 milestone Aug 28, 2018
@jsquyres jsquyres requested review from bosilca and hjelmn August 28, 2018 19:08
@hppritcha
Copy link
Member

@hjelmn please review, this caused enough issues on master, want to be extra careful that this is right.

@hppritcha hppritcha merged commit 69f632b into open-mpi:v4.0.x Sep 7, 2018
@jsquyres jsquyres deleted the pr/v4.0.x/atomic-128-fixes branch September 25, 2019 19:14
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