Skip to content

Conversation

@hjelmn
Copy link
Member

@hjelmn hjelmn commented Mar 2, 2016

This commit fixes several threading bugs:

  • Add an additional lock to the btl_base_endpoint_t structure to lock
    the list of pending frags. This allows the progress function to
    attempt to send pending frags without needing to drop/reaquire the
    lock. This should provide a small improvement in performance and
    fixes a potential race between adding an removing items from the
    pending list.
  • Ensure fast boxes are only set up once by updating the send count
    using atomics when needed and do not set the fast box buffer
    pointer until the fast box is set up.

Signed-off-by: Nathan Hjelm [email protected]

This commit fixes several threading bugs:

 - Add an additional lock to the btl_base_endpoint_t structure to lock
   the list of pending frags. This allows the progress function to
   attempt to send pending frags without needing to drop/reaquire the
   lock. This should provide a small improvement in performance and
   fixes a potential race between adding an removing items from the
   pending list.

 - Ensure fast boxes are only set up once by updating the send count
   using atomics when needed and do not set the fast box buffer
   pointer until the fast box is set up.

Closes open-mpi#1408

Signed-off-by: Nathan Hjelm <[email protected]>
@hjelmn hjelmn force-pushed the btl_vader_threads branch from 4bb5f83 to 2a0b3a5 Compare March 2, 2016 17:51
@hjelmn
Copy link
Member Author

hjelmn commented Mar 2, 2016

@hppritcha Will open a 2.0.0 PR once this is merged.

hjelmn added a commit that referenced this pull request Mar 2, 2016
btl/vader: various threading fixes
@hjelmn hjelmn merged commit 5a85a03 into open-mpi:master Mar 2, 2016
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.

1 participant