1.1 --- a/ompi/mca/mtl/mxm/mtl_mxm_recv.c Fri Feb 15 16:13:42 2013 +0000
1.2 +++ b/ompi/mca/mtl/mxm/mtl_mxm_recv.c Tue Feb 19 16:00:12 2013 +0000
1.3 @@ -68,7 +68,9 @@
1.4 mxm_recv_req->base.state = MXM_REQ_NEW;
1.5 ompi_mtl_mxm_set_recv_envelope(mxm_recv_req, comm, src, tag);
1.6
1.7 +#if MXM_API < MXM_VERSION(2,0)
1.8 mxm_recv_req->base.flags = 0;
1.9 +#endif
1.10 mxm_recv_req->base.data_type = MXM_REQ_DATA_BUFFER;
1.11 mxm_recv_req->base.data.buffer.ptr = mtl_mxm_request->buf;
1.12 mxm_recv_req->base.data.buffer.length = mtl_mxm_request->length;
2.1 --- a/ompi/mca/mtl/mxm/mtl_mxm_send.c Fri Feb 15 16:13:42 2013 +0000
2.2 +++ b/ompi/mca/mtl/mxm/mtl_mxm_send.c Tue Feb 19 16:00:12 2013 +0000
2.3 @@ -101,27 +101,36 @@
2.4 mxm_send_req.base.state = MXM_REQ_NEW;
2.5 mxm_send_req.base.mq = ompi_mtl_mxm_mq_lookup(comm);
2.6 mxm_send_req.base.conn = ompi_mtl_mxm_conn_lookup(comm, dest);
2.7 - mxm_send_req.base.flags = MXM_REQ_FLAG_BLOCKING;
2.8 + mxm_send_req.base.context = NULL;
2.9 + mxm_send_req.base.completed_cb = NULL;
2.10
2.11 - mxm_send_req.base.context = NULL;
2.12 ret = ompi_mtl_mxm_choose_send_datatype(&mxm_send_req, convertor);
2.13 if (OPAL_UNLIKELY(OMPI_SUCCESS != ret)) {
2.14 return ret;
2.15 }
2.16 +
2.17 #if MXM_API < MXM_VERSION(1,5)
2.18 mxm_send_req.base.data.buffer.mkey = MXM_MKEY_NONE;
2.19 #else
2.20 mxm_send_req.base.data.buffer.memh = MXM_INVALID_MEM_HANDLE;
2.21 #endif
2.22 - mxm_send_req.base.completed_cb = NULL;
2.23 +
2.24 + mxm_send_req.op.send.tag = tag;
2.25 + mxm_send_req.op.send.imm_data = ompi_comm_rank(comm);
2.26 +#if MXM_API < MXM_VERSION(2,0)
2.27 + mxm_send_req.base.flags = MXM_REQ_FLAG_BLOCKING;
2.28 + mxm_send_req.opcode = MXM_REQ_OP_SEND;
2.29 if (mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
2.30 mxm_send_req.base.flags |= MXM_REQ_FLAG_SEND_SYNC;
2.31 }
2.32 -
2.33 - mxm_send_req.opcode = MXM_REQ_OP_SEND;
2.34 - mxm_send_req.op.send.tag = tag;
2.35 - mxm_send_req.op.send.imm_data = ompi_comm_rank(comm);
2.36 -
2.37 +#else
2.38 + mxm_send_req.flags = MXM_REQ_SEND_FLAG_BLOCKING;
2.39 + if (mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
2.40 + mxm_send_req.opcode = MXM_REQ_OP_SEND_SYNC;
2.41 + } else {
2.42 + mxm_send_req.opcode = MXM_REQ_OP_SEND;
2.43 + }
2.44 +#endif
2.45
2.46 /* post-send */
2.47 err = mxm_req_send(&mxm_send_req);
2.48 @@ -171,7 +180,6 @@
2.49 mxm_send_req->base.state = MXM_REQ_NEW;
2.50 mxm_send_req->base.mq = ompi_mtl_mxm_mq_lookup(comm);
2.51 mxm_send_req->base.conn = ompi_mtl_mxm_conn_lookup(comm, dest);
2.52 - mxm_send_req->base.flags = 0;
2.53 mxm_send_req->base.data_type = MXM_REQ_DATA_BUFFER;
2.54 mxm_send_req->base.data.buffer.ptr = mtl_mxm_request->buf;
2.55 mxm_send_req->base.data.buffer.length = mtl_mxm_request->length;
2.56 @@ -182,11 +190,22 @@
2.57 #endif
2.58 mxm_send_req->base.context = mtl_mxm_request;
2.59 mxm_send_req->base.completed_cb = ompi_mtl_mxm_send_completion_cb;
2.60 +
2.61 +#if MXM_API < MXM_VERSION(2,0)
2.62 + mxm_send_req->base.flags = 0;
2.63 + mxm_send_req->opcode = MXM_REQ_OP_SEND;
2.64 if (mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
2.65 mxm_send_req->base.flags |= MXM_REQ_FLAG_SEND_SYNC;
2.66 + } else {
2.67 }
2.68 -
2.69 - mxm_send_req->opcode = MXM_REQ_OP_SEND;
2.70 +#else
2.71 + mxm_send_req->flags = 0;
2.72 + if (mode == MCA_PML_BASE_SEND_SYNCHRONOUS) {
2.73 + mxm_send_req->opcode = MXM_REQ_OP_SEND_SYNC;
2.74 + } else {
2.75 + mxm_send_req->opcode = MXM_REQ_OP_SEND;
2.76 + }
2.77 +#endif
2.78 mxm_send_req->op.send.tag = tag;
2.79 mxm_send_req->op.send.imm_data = ompi_comm_rank(comm);
2.80