Skip to content

Conversation

@hjelmn
Copy link
Member

@hjelmn hjelmn commented Aug 19, 2016

This commit should restore the pre-non-blocking behavior of the CID
allocator when threads are used. There are two primary changes: 1)
do not hold the cid allocator lock past the end of a request callback,
and 2) if a lower id communicator is detected during CID allocation
back off and let the lower id communicator finish before continuing.

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

This commit should restore the pre-non-blocking behavior of the CID
allocator when threads are used. There are two primary changes: 1)
do not hold the cid allocator lock past the end of a request callback,
and 2) if a lower id communicator is detected during CID allocation
back off and let the lower id communicator finish before continuing.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
@hjelmn
Copy link
Member Author

hjelmn commented Aug 19, 2016

@edgargabriel This should work. Its passing the reproducer for me. I changed the locking and added a check to only allow the communicator with the lowest parent CID and lowest tag (create group) to proceed.

I will add the reproducer to MTT once this is in master.

@edgargabriel
Copy link
Member

great! Looks good to me.

@hjelmn hjelmn merged commit f3e9a72 into open-mpi:master Aug 19, 2016
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.

2 participants