Fixes crash in openib BTL on a heterogeneous cluster Refs trac:1700
This commit was SVN r20113. The following Trac tickets were found above: Ticket 1700 --> https://svn.open-mpi.org/trac/ompi/ticket/1700
Этот коммит содержится в:
родитель
4fa13a1a4d
Коммит
6a5454b76a
@ -2836,6 +2836,10 @@ static void handle_wc(mca_btl_openib_device_t* device, const uint32_t cq,
|
|||||||
case IBV_WC_RECV:
|
case IBV_WC_RECV:
|
||||||
OPAL_OUTPUT((-1, "Got WC: RDMA_RECV, qp %d, src qp %d, WR ID %p",
|
OPAL_OUTPUT((-1, "Got WC: RDMA_RECV, qp %d, src qp %d, WR ID %p",
|
||||||
wc->qp_num, wc->src_qp, (void*) wc->wr_id));
|
wc->qp_num, wc->src_qp, (void*) wc->wr_id));
|
||||||
|
|
||||||
|
#if !defined(WORDS_BIGENDIAN) && OMPI_ENABLE_HETEROGENEOUS_SUPPORT
|
||||||
|
wc->imm_data = ntohl(wc->imm_data);
|
||||||
|
#endif
|
||||||
if(wc->wc_flags & IBV_WC_WITH_IMM) {
|
if(wc->wc_flags & IBV_WC_WITH_IMM) {
|
||||||
endpoint = (mca_btl_openib_endpoint_t*)
|
endpoint = (mca_btl_openib_endpoint_t*)
|
||||||
opal_pointer_array_get_item(device->endpoints, wc->imm_data);
|
opal_pointer_array_get_item(device->endpoints, wc->imm_data);
|
||||||
|
@ -95,7 +95,11 @@ static int post_send(mca_btl_openib_endpoint_t *ep,
|
|||||||
sr_desc->opcode = IBV_WR_SEND;
|
sr_desc->opcode = IBV_WR_SEND;
|
||||||
} else {
|
} else {
|
||||||
sr_desc->opcode = IBV_WR_SEND_WITH_IMM;
|
sr_desc->opcode = IBV_WR_SEND_WITH_IMM;
|
||||||
|
#if !defined(WORDS_BIGENDIAN) && OMPI_ENABLE_HETEROGENEOUS_SUPPORT
|
||||||
|
sr_desc->imm_data = htonl(ep->rem_info.rem_index);
|
||||||
|
#else
|
||||||
sr_desc->imm_data = ep->rem_info.rem_index;
|
sr_desc->imm_data = ep->rem_info.rem_index;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user