Skip to content

Commit c18007d

Browse files
committed
btl/vader: work around ob1 pending fragment bug
This commit ensures that the pml callback is always made when sending fragments. This is needed to avoid #3845. Once that is fixed the #if 0'd code can be restored. Signed-off-by: Nathan Hjelm <[email protected]>
1 parent e73ab93 commit c18007d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

opal/mca/btl/vader/btl_vader_send.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl,
4949
return 1;
5050
}
5151

52+
/* in order to work around a long standing ob1 bug (see #3845) we have to always
53+
* make the callback. once this is fixed in ob1 we can restore the code below. */
54+
frag->base.des_flags |= MCA_BTL_DES_SEND_ALWAYS_CALLBACK;
55+
5256
/* header (+ optional inline data) */
5357
frag->hdr->len = total_size;
5458
/* type of message, pt-2-pt, one-sided, etc */
@@ -69,6 +73,9 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl,
6973
return OPAL_SUCCESS;
7074
}
7175

76+
return OPAL_SUCCESS;
77+
78+
#if 0
7279
if ((frag->hdr->flags & MCA_BTL_VADER_FLAG_SINGLE_COPY) ||
7380
!(frag->base.des_flags & MCA_BTL_DES_FLAGS_BTL_OWNERSHIP)) {
7481
frag->base.des_flags |= MCA_BTL_DES_SEND_ALWAYS_CALLBACK;
@@ -79,4 +86,5 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl,
7986
/* data is gone (from the pml's perspective). frag callback/release will
8087
happen later */
8188
return 1;
89+
#endif
8290
}

0 commit comments

Comments
 (0)