-
Notifications
You must be signed in to change notification settings - Fork 382
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
prov/util: Switch ep_list_lock to always be mutex #9377
Conversation
I do not think this is the right long term solution, but it gives us time to come up with a better option (without fully reverting). |
I agree that we don't want to revert completely. We will also need to update the other places where this change was made. Counter and EQ? (I don't remember). FWIW, I think apps using msg ep's may be more impacted by the threading options than rdm ep's. That's where my concern is coming from. |
Switch ep_list_lock to always be a mutex lock until we can agree on a better long term decision. The issue is that some endpoints want the ability to not require FI_THREAD_SAFE at the domain level, but they want to be able to control the endpoint in a seperate thread. The ep_list_lock is used for both the data path, and the control path. In order to adhere to the current api, and not break providers that follow the current api, we need to revert this lock to a mutex until we can get a optimal solution for everyone. Signed-off-by: Seth Zegelstein <szegel@amazon.com>
bf28890
to
40ffd2b
Compare
Done. I don't want to trade use cases. I want to get the optimal approach for both use cases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks!
I agree. However I think doing so may require changing the behavior outlined in the man pages. That's doable for version 2, but may be difficult in v1. |
I mistakenly reverted the wrong lock on PR#9377, and caused a performance regression. This change makes the ep->lock be domain dependent, and properly revers util_cntr ep_list_lock to always be mutex. This restores most of the performance regression. Signed-off-by: Seth Zegelstein <szegel@amazon.com>
I mistakenly reverted ep->lock to always be an ofi_mutex. Restore ep->lock to depend on domain threading model Signed-off-by: Seth Zegelstein <szegel@amazon.com>
I mistakenly reverted ep->lock to always be an ofi_mutex. Restore ep->lock to depend on domain threading model Signed-off-by: Seth Zegelstein <szegel@amazon.com>
I mistakenly reverted ep->lock to always be an ofi_mutex. Restore ep->lock to depend on domain threading model Signed-off-by: Seth Zegelstein <szegel@amazon.com>
I mistakenly reverted ep->lock to always be an ofi_mutex. Restore ep->lock to depend on domain threading model Signed-off-by: Seth Zegelstein <szegel@amazon.com>
Switch ep_list_lock to always be a mutex lock until we can agree on a better long term decision. The issue is that some endpoints want the ability to not require FI_THREAD_SAFE at the domain level, but they want to be able to control the endpoint in a seperate thread. The ep_list_lock is used for both the data path, and the control path. In order to adhere to the current api, and not break providers that follow the current api, we need to revert this lock to a mutex until we can get a optimal solution for everyone.