Skip to content

Conversation

@hjelmn
Copy link
Member

@hjelmn hjelmn commented Nov 6, 2018

It seems in some cases (gcc older than v6.0.0) the __atomic_thread_fence is a
no-op with __ATOMIC_ACQUIRE. This appears to be the case with X86_64 so go
ahead and use __ATOMIC_SEQ_CST for the x86_64 read memory barrier. This should
not cause any performance issues as it is equivalent to the memory barrier
in the hand-written atomics.

References #6014

Signed-off-by: Nathan Hjelm hjelmn@lanl.gov
(cherry picked from commit 30119ee)
Signed-off-by: Nathan Hjelm hjelmn@lanl.gov

It seems in some cases (gcc older than v6.0.0) the __atomic_thread_fence is a
no-op with __ATOMIC_ACQUIRE. This appears to be the case with X86_64 so go
ahead and use __ATOMIC_SEQ_CST for the x86_64 read memory barrier. This should
not cause any performance issues as it is equivalent to the memory barrier
in the hand-written atomics.

References open-mpi#6014

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit 30119ee)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
@hjelmn hjelmn added this to the v3.1.4 milestone Nov 6, 2018
@hjelmn hjelmn requested a review from jsquyres November 6, 2018 17:27
@jsquyres jsquyres changed the title opal/asm: work around possible gcc compiler bug v3.1.x: opal/asm: work around possible gcc compiler bug Nov 7, 2018
@jsquyres jsquyres requested review from bosilca and bwbarrett and removed request for jsquyres November 7, 2018 17:45
@bwbarrett
Copy link
Member

bot:ompi:retest

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