correct leave_pinned bug
This commit was SVN r6533.
Этот коммит содержится в:
родитель
025dcfa80b
Коммит
85cdef7abd
@ -301,7 +301,9 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_src(
|
|||||||
opal_output(0,"%s:%d:%s error removing item from reg_mru_list", __FILE__, __LINE__, __func__);
|
opal_output(0,"%s:%d:%s error removing item from reg_mru_list", __FILE__, __LINE__, __func__);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
opal_list_append(&mvapi_btl->reg_mru_list, (opal_list_item_t*) vapi_reg);
|
opal_list_append(&mvapi_btl->reg_mru_list, (opal_list_item_t*) vapi_reg);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* frag->mem_hndl = vapi_reg->hndl; */
|
/* frag->mem_hndl = vapi_reg->hndl; */
|
||||||
@ -317,8 +319,8 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_src(
|
|||||||
frag->base.des_dst_cnt = 0;
|
frag->base.des_dst_cnt = 0;
|
||||||
frag->base.des_flags = 0;
|
frag->base.des_flags = 0;
|
||||||
frag->vapi_reg = vapi_reg;
|
frag->vapi_reg = vapi_reg;
|
||||||
OBJ_RETAIN(vapi_reg);
|
|
||||||
|
|
||||||
|
OBJ_RETAIN(vapi_reg);
|
||||||
return &frag->base;
|
return &frag->base;
|
||||||
|
|
||||||
} else if((mca_btl_mvapi_component.leave_pinned || max_data > btl->btl_max_send_size) &&
|
} else if((mca_btl_mvapi_component.leave_pinned || max_data > btl->btl_max_send_size) &&
|
||||||
@ -556,7 +558,9 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_dst(
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
opal_list_append(&mvapi_btl->reg_mru_list, (opal_list_item_t*) vapi_reg);
|
opal_list_append(&mvapi_btl->reg_mru_list, (opal_list_item_t*) vapi_reg);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
OBJ_RETAIN(vapi_reg);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if(mca_btl_mvapi_component.leave_pinned) {
|
if(mca_btl_mvapi_component.leave_pinned) {
|
||||||
@ -566,7 +570,7 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_dst(
|
|||||||
|
|
||||||
mca_mpool_mvapi_registration_t* old_reg =
|
mca_mpool_mvapi_registration_t* old_reg =
|
||||||
(mca_mpool_mvapi_registration_t*)
|
(mca_mpool_mvapi_registration_t*)
|
||||||
opal_list_remove_last(&mvapi_btl->reg_mru_list);
|
opal_list_remove_first(&mvapi_btl->reg_mru_list);
|
||||||
|
|
||||||
if( NULL == old_reg) {
|
if( NULL == old_reg) {
|
||||||
opal_output(0,"%s:%d:%s error removing item from reg_mru_list", __FILE__, __LINE__, __func__);
|
opal_output(0,"%s:%d:%s error removing item from reg_mru_list", __FILE__, __LINE__, __func__);
|
||||||
@ -627,7 +631,7 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_dst(
|
|||||||
frag->base.des_src = NULL;
|
frag->base.des_src = NULL;
|
||||||
frag->base.des_src_cnt = 0;
|
frag->base.des_src_cnt = 0;
|
||||||
frag->vapi_reg = vapi_reg;
|
frag->vapi_reg = vapi_reg;
|
||||||
OBJ_RETAIN(vapi_reg);
|
|
||||||
return &frag->base;
|
return &frag->base;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,9 @@
|
|||||||
#include "opal/util/output.h"
|
#include "opal/util/output.h"
|
||||||
#include "mca/mpool/mvapi/mpool_mvapi.h"
|
#include "mca/mpool/mvapi/mpool_mvapi.h"
|
||||||
|
|
||||||
|
uint32_t mca_mpool_mvapi_registered_cnt=0;
|
||||||
|
uint32_t mca_mpool_mvapi_unregistered_cnt=0;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initializes the mpool module.
|
* Initializes the mpool module.
|
||||||
@ -65,7 +68,7 @@ int mca_mpool_mvapi_register(mca_mpool_base_module_t* mpool,
|
|||||||
size_t size,
|
size_t size,
|
||||||
mca_mpool_base_registration_t** registration){
|
mca_mpool_base_registration_t** registration){
|
||||||
|
|
||||||
|
mca_mpool_mvapi_registered_cnt++;
|
||||||
mca_mpool_mvapi_module_t * mpool_module = (mca_mpool_mvapi_module_t*) mpool;
|
mca_mpool_mvapi_module_t * mpool_module = (mca_mpool_mvapi_module_t*) mpool;
|
||||||
mca_mpool_mvapi_registration_t * vapi_reg;
|
mca_mpool_mvapi_registration_t * vapi_reg;
|
||||||
VAPI_mrw_t mr_in, mr_out;
|
VAPI_mrw_t mr_in, mr_out;
|
||||||
@ -100,7 +103,9 @@ int mca_mpool_mvapi_register(mca_mpool_base_module_t* mpool,
|
|||||||
);
|
);
|
||||||
|
|
||||||
if(VAPI_OK != ret){
|
if(VAPI_OK != ret){
|
||||||
opal_output(0, "error pinning vapi memory\n");
|
opal_output(0, "error pinning vapi memory registered called %d times unregistered called %d times\n",
|
||||||
|
mca_mpool_mvapi_registered_cnt,
|
||||||
|
mca_mpool_mvapi_unregistered_cnt);
|
||||||
return OMPI_ERROR;
|
return OMPI_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,6 +124,7 @@ int mca_mpool_mvapi_register(mca_mpool_base_module_t* mpool,
|
|||||||
int mca_mpool_mvapi_deregister(mca_mpool_base_module_t* mpool, void *addr, size_t size,
|
int mca_mpool_mvapi_deregister(mca_mpool_base_module_t* mpool, void *addr, size_t size,
|
||||||
mca_mpool_base_registration_t* registration){
|
mca_mpool_base_registration_t* registration){
|
||||||
|
|
||||||
|
mca_mpool_mvapi_unregistered_cnt++;
|
||||||
VAPI_ret_t ret;
|
VAPI_ret_t ret;
|
||||||
mca_mpool_mvapi_module_t * mpool_mvapi = (mca_mpool_mvapi_module_t*) mpool;
|
mca_mpool_mvapi_module_t * mpool_mvapi = (mca_mpool_mvapi_module_t*) mpool;
|
||||||
mca_mpool_mvapi_registration_t * vapi_reg;
|
mca_mpool_mvapi_registration_t * vapi_reg;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user