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

btl/vader: fix fast box support for 32-bit architectures #503

Merged
merged 1 commit into from Mar 31, 2015

Conversation

hjelmn
Copy link
Member

@hjelmn hjelmn commented Mar 30, 2015

On 32-bit architectures loads/stores of fast box headers may take
multiple instructions. This can lead to a data race between the
sender/receiver when reading/writing the sequence number. This can
lead to a situation where the receiver could process incomplete
data. To fix the issue this commit re-orders the fast box header to
put the sequence number and the tag in the same 32-bits to ensure they
are always loaded/stored together.

Fixes #473

Signed-off-by: Nathan Hjelm hjelmn@lanl.gov

On 32-bit architectures loads/stores of fast box headers may take
multiple instructions. This can lead to a data race between the
sender/receiver when reading/writing the sequence number. This can
lead to a situation where the receiver could process incomplete
data. To fix the issue this commit re-orders the fast box header to
put the sequence number and the tag in the same 32-bits to ensure they
are always loaded/stored together.

Fixes open-mpi#473

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
@hjelmn hjelmn mentioned this pull request Mar 30, 2015
@mellanox-github
Copy link

Refer to this link for build results (access rights to CI server needed):
http://bgate.mellanox.com/jenkins/job/gh-ompi-master-pr/399/
Test PASSed.

@hjelmn
Copy link
Member Author

hjelmn commented Mar 30, 2015

This commit will be ready to merge once I finish performance tests.

@opoplawski
Copy link
Contributor

Excuse the naive question, but does reordering items in the struct break ABI?

@hjelmn
Copy link
Member Author

hjelmn commented Mar 30, 2015

Since it is internal to Open MPI it has no impact on ABI.

hjelmn added a commit that referenced this pull request Mar 31, 2015
btl/vader: fix fast box support for 32-bit architectures
@hjelmn hjelmn merged commit b6043ec into open-mpi:master Mar 31, 2015
jsquyres added a commit to jsquyres/ompi that referenced this pull request Nov 10, 2015
…time_check

btl/openib: remove OFED version runtime check when XRC is used
@hjelmn hjelmn deleted the vader_32bit_fix branch May 23, 2016 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vader BTL crashes
3 participants