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 requested a review from jsquyres November 6, 2018 17:26
@hjelmn hjelmn added this to the v3.0.4 milestone Nov 6, 2018
@bwbarrett
Copy link
Member

bot:ompi:retest

@jsquyres jsquyres changed the title opal/asm: work around possible gcc compiler bug v3.0.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
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