Merge pull request #1139 from francois-wellenreiter/btl_portals4_mdbind
BTL portals4: remove useless PtlMDBind PtlMDRelease calls for RMDA ex…
Этот коммит содержится в:
Коммит
4272f92a9c
@ -500,7 +500,6 @@ mca_btl_portals4_alloc(struct mca_btl_base_module_t* btl_base,
|
|||||||
size : portals4_btl->super.btl_max_send_size ;
|
size : portals4_btl->super.btl_max_send_size ;
|
||||||
}
|
}
|
||||||
|
|
||||||
frag->md_h = PTL_INVALID_HANDLE;
|
|
||||||
frag->base.des_segment_count = 1;
|
frag->base.des_segment_count = 1;
|
||||||
frag->base.des_flags = flags | MCA_BTL_DES_SEND_ALWAYS_CALLBACK;
|
frag->base.des_flags = flags | MCA_BTL_DES_SEND_ALWAYS_CALLBACK;
|
||||||
frag->base.order = MCA_BTL_NO_ORDER;
|
frag->base.order = MCA_BTL_NO_ORDER;
|
||||||
|
@ -692,8 +692,8 @@ mca_btl_portals4_component_progress(void)
|
|||||||
|
|
||||||
/* The distant PtlMEAppend is not finished (distant PTL_EVENT_LINK not received) */
|
/* The distant PtlMEAppend is not finished (distant PTL_EVENT_LINK not received) */
|
||||||
/* Re-issue the PtlGet (see btl_portals4_rdma.c) */
|
/* Re-issue the PtlGet (see btl_portals4_rdma.c) */
|
||||||
ret = PtlGet(frag->md_h,
|
ret = PtlGet(portals4_btl->send_md_h,
|
||||||
0,
|
(ptl_size_t) frag->addr,
|
||||||
frag->length,
|
frag->length,
|
||||||
frag->peer_proc,
|
frag->peer_proc,
|
||||||
portals4_btl->recv_idx,
|
portals4_btl->recv_idx,
|
||||||
@ -704,8 +704,6 @@ mca_btl_portals4_component_progress(void)
|
|||||||
opal_output_verbose(1, opal_btl_base_framework.framework_output,
|
opal_output_verbose(1, opal_btl_base_framework.framework_output,
|
||||||
"%s:%d: Re-issued PtlGet failed: %d",
|
"%s:%d: Re-issued PtlGet failed: %d",
|
||||||
__FILE__, __LINE__, ret);
|
__FILE__, __LINE__, ret);
|
||||||
PtlMDRelease(frag->md_h);
|
|
||||||
frag->md_h = PTL_INVALID_HANDLE;
|
|
||||||
return OPAL_ERROR;
|
return OPAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -724,8 +722,6 @@ mca_btl_portals4_component_progress(void)
|
|||||||
frag->rdma_cb.context,
|
frag->rdma_cb.context,
|
||||||
frag->rdma_cb.data,
|
frag->rdma_cb.data,
|
||||||
OPAL_SUCCESS);
|
OPAL_SUCCESS);
|
||||||
PtlMDRelease(frag->md_h);
|
|
||||||
frag->md_h = PTL_INVALID_HANDLE;
|
|
||||||
|
|
||||||
OPAL_BTL_PORTALS4_FRAG_RETURN_USER(&portals4_btl->super, frag);
|
OPAL_BTL_PORTALS4_FRAG_RETURN_USER(&portals4_btl->super, frag);
|
||||||
OPAL_THREAD_ADD32(&portals4_btl->portals_outstanding_ops, -1);
|
OPAL_THREAD_ADD32(&portals4_btl->portals_outstanding_ops, -1);
|
||||||
|
@ -45,10 +45,9 @@ struct mca_btl_portals4_frag_t {
|
|||||||
mca_btl_base_header_t hdr;
|
mca_btl_base_header_t hdr;
|
||||||
/* handle to use for communication */
|
/* handle to use for communication */
|
||||||
ptl_handle_me_t me_h;
|
ptl_handle_me_t me_h;
|
||||||
/* handle to use for communication */
|
|
||||||
ptl_handle_md_t md_h;
|
|
||||||
/* size of the allocated memory region -- not the amount of data
|
/* size of the allocated memory region -- not the amount of data
|
||||||
we need to send */
|
we need to send */
|
||||||
|
void *addr;
|
||||||
size_t size;
|
size_t size;
|
||||||
/* match bits for retransmit case */
|
/* match bits for retransmit case */
|
||||||
ptl_match_bits_t match_bits;
|
ptl_match_bits_t match_bits;
|
||||||
|
@ -78,17 +78,6 @@ mca_btl_portals4_get(struct mca_btl_base_module_t* btl_base,
|
|||||||
frag->endpoint = btl_peer;
|
frag->endpoint = btl_peer;
|
||||||
frag->hdr.tag = MCA_BTL_TAG_MAX;
|
frag->hdr.tag = MCA_BTL_TAG_MAX;
|
||||||
|
|
||||||
/* Bind the memory */
|
|
||||||
md.start = (void *)local_address;
|
|
||||||
md.length = size;
|
|
||||||
md.options = 0;
|
|
||||||
md.eq_handle = portals4_btl->recv_eq_h;
|
|
||||||
md.ct_handle = PTL_CT_NONE;
|
|
||||||
|
|
||||||
ret = PtlMDBind(portals4_btl->portals_ni_h,
|
|
||||||
&md,
|
|
||||||
&frag->md_h);
|
|
||||||
|
|
||||||
if (OPAL_UNLIKELY(PTL_OK != ret)) {
|
if (OPAL_UNLIKELY(PTL_OK != ret)) {
|
||||||
opal_output_verbose(1, opal_btl_base_framework.framework_output,
|
opal_output_verbose(1, opal_btl_base_framework.framework_output,
|
||||||
"%s:%d: PtlMDBind failed: %d",
|
"%s:%d: PtlMDBind failed: %d",
|
||||||
@ -97,15 +86,16 @@ mca_btl_portals4_get(struct mca_btl_base_module_t* btl_base,
|
|||||||
}
|
}
|
||||||
|
|
||||||
frag->match_bits = remote_handle->key;
|
frag->match_bits = remote_handle->key;
|
||||||
frag->length = md.length;
|
frag->addr = local_address;
|
||||||
|
frag->length = size;
|
||||||
frag->peer_proc = btl_peer->ptl_proc;
|
frag->peer_proc = btl_peer->ptl_proc;
|
||||||
|
|
||||||
OPAL_OUTPUT_VERBOSE((90, opal_btl_base_framework.framework_output, "PtlGet start=%p length=%ld nid=%x pid=%x match_bits=%lx\n",
|
OPAL_OUTPUT_VERBOSE((90, opal_btl_base_framework.framework_output, "PtlGet start=%p length=%ld nid=%x pid=%x match_bits=%lx\n",
|
||||||
md.start, md.length, btl_peer->ptl_proc.phys.nid, btl_peer->ptl_proc.phys.pid, frag->match_bits));
|
md.start, md.length, btl_peer->ptl_proc.phys.nid, btl_peer->ptl_proc.phys.pid, frag->match_bits));
|
||||||
|
|
||||||
ret = PtlGet(frag->md_h,
|
ret = PtlGet(portals4_btl->send_md_h,
|
||||||
0,
|
(ptl_size_t) local_address,
|
||||||
md.length,
|
size,
|
||||||
btl_peer->ptl_proc,
|
btl_peer->ptl_proc,
|
||||||
portals4_btl->recv_idx,
|
portals4_btl->recv_idx,
|
||||||
frag->match_bits, /* match bits */
|
frag->match_bits, /* match bits */
|
||||||
@ -115,8 +105,6 @@ mca_btl_portals4_get(struct mca_btl_base_module_t* btl_base,
|
|||||||
opal_output_verbose(1, opal_btl_base_framework.framework_output,
|
opal_output_verbose(1, opal_btl_base_framework.framework_output,
|
||||||
"%s:%d: PtlGet failed: %d",
|
"%s:%d: PtlGet failed: %d",
|
||||||
__FILE__, __LINE__, ret);
|
__FILE__, __LINE__, ret);
|
||||||
PtlMDRelease(frag->md_h);
|
|
||||||
frag->md_h = PTL_INVALID_HANDLE;
|
|
||||||
return OPAL_ERROR;
|
return OPAL_ERROR;
|
||||||
}
|
}
|
||||||
OPAL_OUTPUT_VERBOSE((90, opal_btl_base_framework.framework_output, "SUCCESS: PtlGet start=%p length=%ld nid=%x pid=%x match_bits=%lx\n",
|
OPAL_OUTPUT_VERBOSE((90, opal_btl_base_framework.framework_output, "SUCCESS: PtlGet start=%p length=%ld nid=%x pid=%x match_bits=%lx\n",
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user