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 [email protected]
(cherry picked from commit 30119ee)
Signed-off-by: Nathan Hjelm [email protected]

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 <[email protected]>
(cherry picked from commit 30119ee)
Signed-off-by: Nathan Hjelm <[email protected]>
@hjelmn hjelmn added this to the v2.1.6 milestone Nov 6, 2018
@hjelmn hjelmn requested a review from jsquyres November 6, 2018 17:41
@hjelmn
Copy link
Member Author

hjelmn commented Nov 6, 2018

Just for completeness.

@bwbarrett
Copy link
Member

bot:ompi:retest

@jsquyres jsquyres changed the title opal/asm: work around possible gcc compiler bug v2.x: opal/asm: work around possible gcc compiler bug Nov 8, 2018
@jsquyres
Copy link
Member

jsquyres commented Nov 8, 2018

@hppritcha Good to go.

@hppritcha hppritcha merged commit 7c73b93 into open-mpi:v2.x Nov 26, 2018
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.

4 participants