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

UCT/UGNI: Spinlocks around all of the GNI_* functions #1546

Merged
merged 1 commit into from
May 30, 2017

Conversation

MattBBaker
Copy link
Contributor

This PR completes most of the work to make the UGNI UCT layer thread safe. All GNI calls are protected with a spin lock attached to the device and remove the pthread mutex from being visible outside of ugni_md. It's still in ugni_md to protect md creation before the spin lock has been initialized.

As part of this effort the cq code has been factored out into it's own code path with error reporting and locks. This fixes #1529.

SMSG also does the right thing down, locking mbox access and bouncing threads that try and process an iface mbox while another thread is processing it.

@mellanox-github
Copy link
Contributor

Test FAILed.
See http://bgate.mellanox.com/jenkins/job/gh-ucx-pr/1746/ for details.

@mellanox-github
Copy link
Contributor

Test PASSed.
See http://hpc-master.lab.mtl.com:8080/job/hpc-ucx-pr/3689/ for details (Mellanox internal link).

@yosefe
Copy link
Contributor

yosefe commented May 28, 2017

bot:bgate:retest

@mellanox-github
Copy link
Contributor

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ucx-pr/1750/ for details.

@shamisp
Copy link
Contributor

shamisp commented May 30, 2017

how well it was tested ?

@MattBBaker
Copy link
Contributor Author

@shamisp There are no dead locks so far. There are a few places that still aren't thread safe (mpools and unaligned zcopy code). I'm building up more threading work in OpenSHMEM so it will be well exercised.

@shamisp
Copy link
Contributor

shamisp commented May 30, 2017

👍

@shamisp shamisp merged commit c7b4edd into openucx:master May 30, 2017
@MattBBaker MattBBaker deleted the topic/ugni-api-spinlocks branch May 30, 2017 17:49
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.

GNI_Cq* - no error checking code
4 participants