1
1
This commit was SVN r6533.
Этот коммит содержится в:
Galen Shipman 2005-07-15 21:08:36 +00:00
родитель 025dcfa80b
Коммит 85cdef7abd
2 изменённых файлов: 17 добавлений и 7 удалений

Просмотреть файл

@ -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;