Skip to content

Conversation

@hjelmn
Copy link
Member

@hjelmn hjelmn commented Jun 4, 2018

These commits improve the aarch64 support as promised. The three commits:

  1. Fix debug builds (and update the README to reflect this).
  2. Make the patcher code work with aarch64.

hjelmn added 3 commits June 4, 2018 16:15
This commit fixes a hang that occurs with debug builds of Open MPI on
aarch64 and power/powerpc systems. When the ll/sc atomics are inline
functions the compiler emits load/store instructions for the function
arguments with -O0. These extra load/store arguments can cause the ll
reservation to be cancelled causing live-lock.

Note that we did attempt to fix this with always_inline but the extra
instructions are stil emitted by the compiler (gcc). There may be
another fix but this has been tested and is working well.

Back-port from master.

References open-mpi#3697. Close when applied to v3.0.x and v3.1.x.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit f8dbf62)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit 7ac3797)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
This commit adds patcher support of aarch64. The current
implementation uses mov, movk, and br to perform the jump. This uses 5
instructions.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
(cherry picked from commit 8192eb9)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
@hjelmn hjelmn added this to the v3.1.1 milestone Jun 4, 2018
@hjelmn hjelmn requested a review from shamisp June 4, 2018 22:18
@hjelmn
Copy link
Member Author

hjelmn commented Jun 4, 2018

@bwbarrett I can create a PR for v3.0.x as well. I don't know how far back we want to bring this.

@hjelmn
Copy link
Member Author

hjelmn commented Jun 4, 2018

@gpaulsen FYI. This fixes some power hangs with debug + non-builtin atomic builds as well.

@bwbarrett bwbarrett merged commit 9df0e66 into open-mpi:v3.1.x Jun 6, 2018
@gpaulsen
Copy link
Member

gpaulsen commented Jun 6, 2018

@hjelmn Thanks. I can give it a spin on our power9 nodes also.

@gpaulsen
Copy link
Member

gpaulsen commented Jun 6, 2018

@hjelmn I'd love a PR for v3.0.x if you have time, otherwise I can give it a stab.

@hjelmn
Copy link
Member Author

hjelmn commented Jun 6, 2018

@gpaulsen The v3.0.x version was merged into the v3.0.x branch this morning.

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