if all else fails in prepare_src,, pack
init the rdma_pending list in ob1 This commit was SVN r7366.
Этот коммит содержится в:
родитель
940a2494a2
Коммит
f0b1ea52bc
@ -379,16 +379,14 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_src(
|
||||
|
||||
return &frag->base;
|
||||
|
||||
} else if(max_data + reserve <= mvapi_btl->super.btl_max_send_size) {
|
||||
/** if the data fits in the max limit and we aren't told to pinn then we
|
||||
simply pack, if the data is non contiguous then we pack **/
|
||||
} else {
|
||||
|
||||
MCA_BTL_IB_FRAG_ALLOC_MAX(btl, frag, rc);
|
||||
if(NULL == frag) {
|
||||
return NULL;
|
||||
}
|
||||
if(max_data + reserve > frag->size){
|
||||
max_data = frag->size - reserve;
|
||||
if(max_data + reserve > btl->btl_max_send_size){
|
||||
max_data = btl->btl_max_send_size - reserve;
|
||||
}
|
||||
iov.iov_len = max_data;
|
||||
iov.iov_base = (unsigned char*) frag->segment.seg_addr.pval + reserve;
|
||||
|
@ -379,18 +379,14 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
|
||||
|
||||
return &frag->base;
|
||||
|
||||
}
|
||||
/** if the data fits in the max limit and we aren't told to pinn then we
|
||||
simply pack, if the data is non contiguous then we pack **/
|
||||
|
||||
else if(max_data + reserve <= openib_btl->super.btl_max_send_size) {
|
||||
} else {
|
||||
|
||||
MCA_BTL_IB_FRAG_ALLOC_MAX(btl, frag, rc);
|
||||
if(NULL == frag) {
|
||||
return NULL;
|
||||
}
|
||||
if(max_data + reserve > frag->size){
|
||||
max_data = frag->size - reserve;
|
||||
if(max_data + reserve > btl->btl_max_send_size){
|
||||
max_data = btl->btl_max_send_size - reserve;
|
||||
}
|
||||
iov.iov_len = max_data;
|
||||
iov.iov_base = (unsigned char*) frag->segment.seg_addr.pval + reserve;
|
||||
|
@ -145,6 +145,7 @@ int mca_pml_ob1_component_open(void)
|
||||
OBJ_CONSTRUCT(&mca_pml_ob1.send_pending, opal_list_t);
|
||||
OBJ_CONSTRUCT(&mca_pml_ob1.recv_pending, opal_list_t);
|
||||
OBJ_CONSTRUCT(&mca_pml_ob1.acks_pending, opal_list_t);
|
||||
OBJ_CONSTRUCT(&mca_pml_ob1.rdma_pending, opal_list_t);
|
||||
|
||||
mca_base_param_register_int("mpi", NULL, "leave_pinned", "leave_pinned", 0);
|
||||
param = mca_base_param_find("mpi", NULL, "leave_pinned");
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user