1
1

compile error and warining fixes for openib..

This commit was SVN r6449.
Этот коммит содержится в:
Galen Shipman 2005-07-12 21:49:30 +00:00
родитель c560a296d1
Коммит d7bdc46ac9
6 изменённых файлов: 96 добавлений и 100 удалений

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

@ -219,7 +219,7 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
{ {
mca_btl_openib_module_t* openib_btl; mca_btl_openib_module_t* openib_btl;
mca_btl_openib_frag_t* frag; mca_btl_openib_frag_t* frag;
mca_mpool_openib_registration_t * vapi_reg; mca_mpool_openib_registration_t * openib_reg;
struct iovec iov; struct iovec iov;
int32_t iov_count = 1; int32_t iov_count = 1;
size_t max_data = *size; size_t max_data = *size;
@ -228,15 +228,15 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
openib_btl = (mca_btl_openib_module_t*) btl; openib_btl = (mca_btl_openib_module_t*) btl;
vapi_reg = (mca_mpool_openib_registration_t*) registration; openib_reg = (mca_mpool_openib_registration_t*) registration;
/** if the data fits in the eager limit and we aren't told to pinn then we /** if the data fits in the eager limit and we aren't told to pinn then we
simply pack, if the data fits in the eager limit and the data is non contiguous simply pack, if the data fits in the eager limit and the data is non contiguous
then we pack **/ then we pack **/
if(NULL != vapi_reg && 0 == ompi_convertor_need_buffers(convertor)){ if(NULL != openib_reg && 0 == ompi_convertor_need_buffers(convertor)){
bool is_leave_pinned = vapi_reg->is_leave_pinned; bool is_leave_pinned = openib_reg->is_leave_pinned;
MCA_BTL_IB_FRAG_ALLOC_FRAG(btl, frag, rc); MCA_BTL_IB_FRAG_ALLOC_FRAG(btl, frag, rc);
if(NULL == frag){ if(NULL == frag){
return NULL; return NULL;
@ -253,38 +253,38 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
frag->segment.seg_addr.pval = iov.iov_base; frag->segment.seg_addr.pval = iov.iov_base;
size_t reg_len; size_t reg_len;
reg_len = (unsigned char*)vapi_reg->base_reg.bound - (unsigned char*)iov.iov_base + 1; reg_len = (unsigned char*)openib_reg->base_reg.bound - (unsigned char*)iov.iov_base + 1;
if(frag->segment.seg_len > reg_len) { if(frag->segment.seg_len > reg_len) {
size_t new_len = vapi_reg->base_reg.bound - vapi_reg->base_reg.base + 1 size_t new_len = openib_reg->base_reg.bound - openib_reg->base_reg.base + 1
+ frag->segment.seg_len - reg_len; + frag->segment.seg_len - reg_len;
void * base_addr = vapi_reg->base_reg.base; void * base_addr = openib_reg->base_reg.base;
rc = mca_mpool_base_remove((void*) vapi_reg->base_reg.base); rc = mca_mpool_base_remove((void*) openib_reg->base_reg.base);
if(OMPI_SUCCESS != rc) { if(OMPI_SUCCESS != rc) {
opal_output(0, "%s:%d:%s error removing memory region from memory pool tree", __FILE__, __LINE__, __func__); opal_output(0, "%s:%d:%s error removing memory region from memory pool tree", __FILE__, __LINE__, __func__);
return NULL; return NULL;
} }
if(is_leave_pinned) { if(is_leave_pinned) {
if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg)){ if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_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__);
return NULL; return NULL;
} }
} }
OBJ_RELEASE(vapi_reg); OBJ_RELEASE(openib_reg);
openib_btl->ib_pool->mpool_register(openib_btl->ib_pool, openib_btl->ib_pool->mpool_register(openib_btl->ib_pool,
base_addr, base_addr,
new_len, new_len,
(mca_mpool_base_registration_t**) &vapi_reg); (mca_mpool_base_registration_t**) &openib_reg);
rc = mca_mpool_base_insert(vapi_reg->base_reg.base, rc = mca_mpool_base_insert(openib_reg->base_reg.base,
vapi_reg->base_reg.bound - vapi_reg->base_reg.base + 1, openib_reg->base_reg.bound - openib_reg->base_reg.base + 1,
openib_btl->ib_pool, openib_btl->ib_pool,
(void*) (&openib_btl->super), (void*) (&openib_btl->super),
(mca_mpool_base_registration_t*) vapi_reg); (mca_mpool_base_registration_t*) openib_reg);
if(rc != OMPI_SUCCESS) { if(rc != OMPI_SUCCESS) {
@ -292,34 +292,34 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
return NULL; return NULL;
} }
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
if(is_leave_pinned) { if(is_leave_pinned) {
vapi_reg->is_leave_pinned = is_leave_pinned; openib_reg->is_leave_pinned = is_leave_pinned;
opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg); opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_reg);
} }
} }
else if(is_leave_pinned) { else if(is_leave_pinned) {
if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg)) { if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_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__);
return NULL; return NULL;
} }
opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg); opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_reg);
} }
frag->mem_hndl = vapi_reg->hndl; frag->mr = openib_reg->mr;
frag->sg_entry.len = max_data; frag->sg_entry.length = max_data;
frag->sg_entry.lkey = vapi_reg->l_key; frag->sg_entry.lkey = frag->mr->lkey;
frag->sg_entry.addr = (VAPI_virt_addr_t) (MT_virt_addr_t) iov.iov_base; frag->sg_entry.addr = (uintptr_t) iov.iov_base;
frag->segment.seg_key.key32[0] = (uint32_t) vapi_reg->l_key; frag->segment.seg_key.key32[0] = (uint32_t) frag->sg_entry.lkey;
frag->base.des_src = &frag->segment; frag->base.des_src = &frag->segment;
frag->base.des_src_cnt = 1; frag->base.des_src_cnt = 1;
frag->base.des_dst = NULL; frag->base.des_dst = NULL;
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->openib_reg= openib_reg;
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
return &frag->base; return &frag->base;
@ -369,42 +369,42 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_src(
openib_btl->ib_pool->mpool_register(openib_btl->ib_pool, openib_btl->ib_pool->mpool_register(openib_btl->ib_pool,
iov.iov_base, iov.iov_base,
max_data, max_data,
(mca_mpool_base_registration_t**) &vapi_reg); (mca_mpool_base_registration_t**) &openib_reg);
rc = mca_mpool_base_insert(vapi_reg->base_reg.base, rc = mca_mpool_base_insert(openib_reg->base_reg.base,
vapi_reg->base_reg.bound - vapi_reg->base_reg.base + 1, openib_reg->base_reg.bound - openib_reg->base_reg.base + 1,
openib_btl->ib_pool, openib_btl->ib_pool,
(void*) (&openib_btl->super), (void*) (&openib_btl->super),
(mca_mpool_base_registration_t*) vapi_reg); (mca_mpool_base_registration_t*) openib_reg);
if(rc != OMPI_SUCCESS) if(rc != OMPI_SUCCESS)
return NULL; return NULL;
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
vapi_reg->is_leave_pinned = true; openib_reg->is_leave_pinned = true;
opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg); opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_reg);
} else { } else {
openib_btl->ib_pool->mpool_register(openib_btl->ib_pool, openib_btl->ib_pool->mpool_register(openib_btl->ib_pool,
iov.iov_base, iov.iov_base,
max_data, max_data,
(mca_mpool_base_registration_t**) &vapi_reg); (mca_mpool_base_registration_t**) &openib_reg);
vapi_reg->is_leave_pinned = false; openib_reg->is_leave_pinned = false;
} }
frag->mem_hndl = vapi_reg->hndl; frag->mr = openib_reg->mr;
frag->sg_entry.len = max_data; frag->sg_entry.length = max_data;
frag->sg_entry.lkey = vapi_reg->l_key; frag->sg_entry.lkey = openib_reg->l_key;
frag->sg_entry.addr = (VAPI_virt_addr_t) (MT_virt_addr_t) iov.iov_base; frag->sg_entry.addr = (uintptr_t) iov.iov_base;
frag->segment.seg_key.key32[0] = (uint32_t) vapi_reg->l_key; frag->segment.seg_key.key32[0] = (uint32_t) frag->mr->l_key;
frag->base.des_src = &frag->segment; frag->base.des_src = &frag->segment;
frag->base.des_src_cnt = 1; frag->base.des_src_cnt = 1;
frag->base.des_dst = NULL; frag->base.des_dst = NULL;
frag->base.des_dst_cnt = 0; frag->base.des_dst_cnt = 0;
frag->vapi_reg = vapi_reg; frag->openib_reg = openib_reg;
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
return &frag->base; return &frag->base;
} else if (max_data+reserve <= btl->btl_eager_limit) { } else if (max_data+reserve <= btl->btl_eager_limit) {
@ -487,12 +487,12 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_dst(
{ {
mca_btl_openib_module_t* openib_btl; mca_btl_openib_module_t* openib_btl;
mca_btl_openib_frag_t* frag; mca_btl_openib_frag_t* frag;
mca_mpool_openib_registration_t * vapi_reg; mca_mpool_openib_registration_t * openib_reg;
int rc; int rc;
size_t reg_len; size_t reg_len;
openib_btl = (mca_btl_openib_module_t*) btl; openib_btl = (mca_btl_openib_module_t*) btl;
vapi_reg = (mca_mpool_openib_registration_t*) registration; openib_reg = (mca_mpool_openib_registration_t*) registration;
MCA_BTL_IB_FRAG_ALLOC_FRAG(btl, frag, rc); MCA_BTL_IB_FRAG_ALLOC_FRAG(btl, frag, rc);
@ -505,59 +505,59 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_dst(
frag->segment.seg_addr.pval = convertor->pBaseBuf + convertor->bConverted; frag->segment.seg_addr.pval = convertor->pBaseBuf + convertor->bConverted;
frag->base.des_flags = 0; frag->base.des_flags = 0;
if(NULL!= vapi_reg){ if(NULL!= openib_reg){
reg_len = (unsigned char*)vapi_reg->base_reg.bound - (unsigned char*)frag->segment.seg_addr.pval + 1; reg_len = (unsigned char*)openib_reg->base_reg.bound - (unsigned char*)frag->segment.seg_addr.pval + 1;
bool is_leave_pinned = vapi_reg->is_leave_pinned; bool is_leave_pinned = openib_reg->is_leave_pinned;
if(frag->segment.seg_len > reg_len ) { if(frag->segment.seg_len > reg_len ) {
size_t new_len = vapi_reg->base_reg.bound - vapi_reg->base_reg.base + 1 size_t new_len = openib_reg->base_reg.bound - openib_reg->base_reg.base + 1
+ frag->segment.seg_len - reg_len; + frag->segment.seg_len - reg_len;
void * base_addr = vapi_reg->base_reg.base; void * base_addr = openib_reg->base_reg.base;
rc = mca_mpool_base_remove((void*) vapi_reg->base_reg.base); rc = mca_mpool_base_remove((void*) openib_reg->base_reg.base);
if(OMPI_SUCCESS != rc) { if(OMPI_SUCCESS != rc) {
opal_output(0,"%s:%d:%s error removing memory region from memory pool tree", __FILE__, __LINE__, __func__); opal_output(0,"%s:%d:%s error removing memory region from memory pool tree", __FILE__, __LINE__, __func__);
return NULL; return NULL;
} }
if(is_leave_pinned) { if(is_leave_pinned) {
if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg)) { if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_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__);
return NULL; return NULL;
} }
} }
OBJ_RELEASE(vapi_reg); OBJ_RELEASE(openib_reg);
openib_btl->ib_pool->mpool_register(openib_btl->ib_pool, openib_btl->ib_pool->mpool_register(openib_btl->ib_pool,
base_addr, base_addr,
new_len, new_len,
(mca_mpool_base_registration_t**) &vapi_reg); (mca_mpool_base_registration_t**) &openib_reg);
rc = mca_mpool_base_insert(vapi_reg->base_reg.base, rc = mca_mpool_base_insert(openib_reg->base_reg.base,
vapi_reg->base_reg.bound - vapi_reg->base_reg.base + 1, openib_reg->base_reg.bound - openib_reg->base_reg.base + 1,
openib_btl->ib_pool, openib_btl->ib_pool,
(void*) (&openib_btl->super), (void*) (&openib_btl->super),
(mca_mpool_base_registration_t*) vapi_reg); (mca_mpool_base_registration_t*) openib_reg);
if(OMPI_SUCCESS != rc) { if(OMPI_SUCCESS != rc) {
opal_output(0,"%s:%d:%s error inserting memory region into memory pool tree", __FILE__, __LINE__, __func__); opal_output(0,"%s:%d:%s error inserting memory region into memory pool tree", __FILE__, __LINE__, __func__);
return NULL; return NULL;
} }
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
if(is_leave_pinned) { if(is_leave_pinned) {
vapi_reg->is_leave_pinned = is_leave_pinned; openib_reg->is_leave_pinned = is_leave_pinned;
opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg); opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_reg);
} }
} }
else if(is_leave_pinned){ else if(is_leave_pinned){
if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg)) { if(NULL == opal_list_remove_item(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_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__);
return NULL; return NULL;
} }
opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg); opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_reg);
} }
} else { } else {
@ -587,49 +587,48 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_dst(
openib_btl->ib_pool->mpool_register(openib_btl->ib_pool, openib_btl->ib_pool->mpool_register(openib_btl->ib_pool,
frag->segment.seg_addr.pval, frag->segment.seg_addr.pval,
*size, *size,
(mca_mpool_base_registration_t**) &vapi_reg); (mca_mpool_base_registration_t**) &openib_reg);
vapi_reg->is_leave_pinned = true; openib_reg->is_leave_pinned = true;
rc = mca_mpool_base_insert(vapi_reg->base_reg.base, rc = mca_mpool_base_insert(openib_reg->base_reg.base,
vapi_reg->base_reg.bound - vapi_reg->base_reg.base + 1, openib_reg->base_reg.bound - openib_reg->base_reg.base + 1,
openib_btl->ib_pool, openib_btl->ib_pool,
(void*) (&openib_btl->super), (void*) (&openib_btl->super),
(mca_mpool_base_registration_t*) vapi_reg); (mca_mpool_base_registration_t*) openib_reg);
if(OMPI_SUCCESS != rc){ if(OMPI_SUCCESS != rc){
opal_output(0,"%s:%d:%s error inserting memory region into memory pool", __FILE__, __LINE__, __func__); opal_output(0,"%s:%d:%s error inserting memory region into memory pool", __FILE__, __LINE__, __func__);
return NULL; return NULL;
} }
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) vapi_reg); opal_list_append(&openib_btl->reg_mru_list, (opal_list_item_t*) openib_reg);
} else { } else {
openib_btl->ib_pool->mpool_register(openib_btl->ib_pool, openib_btl->ib_pool->mpool_register(openib_btl->ib_pool,
frag->segment.seg_addr.pval, frag->segment.seg_addr.pval,
*size, *size,
(mca_mpool_base_registration_t**) &vapi_reg); (mca_mpool_base_registration_t**) &openib_reg);
vapi_reg->is_leave_pinned=false; openib_reg->is_leave_pinned=false;
} }
} }
frag->mem_hndl = vapi_reg->hndl; frag->mr = openib_reg->mr;
frag->sg_entry.len = *size; frag->sg_entry.len = *size;
frag->sg_entry.lkey = vapi_reg->l_key; frag->sg_entry.lkey = openib_reg->mr->lkey;
frag->sg_entry.addr = (VAPI_virt_addr_t) (MT_virt_addr_t) frag->segment.seg_addr.pval; frag->sg_entry.addr = (uintptr_t) frag->segment.seg_addr.pval;
frag->segment.seg_key.key32[0] = (uint32_t) vapi_reg->l_key; frag->segment.seg_key.key32[0] = (uint32_t) frag->mr->lkey;
frag->base.des_dst = &frag->segment; frag->base.des_dst = &frag->segment;
frag->base.des_dst_cnt = 1; frag->base.des_dst_cnt = 1;
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->openib_reg = openib_reg;
OBJ_RETAIN(vapi_reg); OBJ_RETAIN(openib_reg);
return &frag->base; return &frag->base;
} }
@ -712,7 +711,7 @@ int mca_btl_openib_put( mca_btl_base_module_t* btl,
mca_btl_openib_module_t* openib_btl = (mca_btl_openib_module_t*) btl; mca_btl_openib_module_t* openib_btl = (mca_btl_openib_module_t*) btl;
mca_btl_openib_frag_t* frag = (mca_btl_openib_frag_t*) descriptor; mca_btl_openib_frag_t* frag = (mca_btl_openib_frag_t*) descriptor;
frag->endpoint = endpoint; frag->endpoint = endpoint;
frag->sr_desc.opcode = IB_WC_RDMA_WRITE; frag->sr_desc.opcode = IBV_WR_RDMA_WRITE;
frag->sr_desc.rdma.remote_addr = (uintptr_t) frag->base.des_src->seg_addr.pval; frag->sr_desc.rdma.remote_addr = (uintptr_t) frag->base.des_src->seg_addr.pval;
frag->sr_desc.rdma.rkey = frag->base.des_dst->seg_key.key32[0]; frag->sr_desc.rdma.rkey = frag->base.des_dst->seg_key.key32[0];
frag->sg_entry.addr = (uintptr_t) frag->base.des_src->seg_addr.pval; frag->sg_entry.addr = (uintptr_t) frag->base.des_src->seg_addr.pval;
@ -786,14 +785,13 @@ int mca_btl_openib_module_init(mca_btl_openib_module_t *openib_btl)
/* Allocate Protection Domain */ /* Allocate Protection Domain */
struct ibv_context *ctx; struct ibv_context *ctx;
ctx = openib_btl->ib_dev_context; ctx = openib_btl->ib_dev_context;
uint32_t cqe_cnt = 0;
openib_btl->ib_pd = ibv_alloc_pd(ctx); openib_btl->ib_pd = ibv_alloc_pd(ctx);
if(NULL == openib->ib_pd) { if(NULL == openib_btl->ib_pd) {
ompi_output(0, "%s: error allocating pd for %s\n", __func__, ibv_get_device_name(openib_btl->ib_dev)); ompi_output(0, "%s: error allocating pd for %s\n", __func__, ibv_get_device_name(openib_btl->ib_dev));
return OMPI_ERROR; return OMPI_ERROR;
} }

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

@ -136,7 +136,8 @@ static inline int mca_btl_openib_endpoint_post_rr_sub(int cnt,
mca_btl_openib_frag_t* frag; mca_btl_openib_frag_t* frag;
mca_btl_openib_module_t *openib_btl = endpoint->endpoint_btl; mca_btl_openib_module_t *openib_btl = endpoint->endpoint_btl;
struct ibv_recv_wr* bad_wr; struct ibv_recv_wr* bad_wr;
struct ibv_recv_wr** rr_desc_post = openib_btl->rr_desc_post;
/* prepare frags and post receive requests, given, this is ugly, /* prepare frags and post receive requests, given, this is ugly,
* if openib doesn't plan on supporting a post_list method than * if openib doesn't plan on supporting a post_list method than
* this should be changed to simply loop through and post receives * this should be changed to simply loop through and post receives
@ -176,12 +177,11 @@ static inline int mca_btl_openib_endpoint_post_rr( mca_btl_openib_endpoint_t * e
if(openib_btl->rr_posted_high <= mca_btl_openib_component.ib_rr_buf_min+additional && openib_btl->rr_posted_high < mca_btl_openib_component.ib_rr_buf_max){ if(openib_btl->rr_posted_high <= mca_btl_openib_component.ib_rr_buf_min+additional && openib_btl->rr_posted_high < mca_btl_openib_component.ib_rr_buf_max){
rc = mca_btl_openib_endpoint_post_rr_sub(mca_btl_openib_component.ib_rr_buf_max - openib_btl->rr_posted_high, rc = mca_btl_openib_endpoint_post_rr_sub(mca_btl_openib_component.ib_rr_buf_max - openib_btl->rr_posted_high,
endpoint, endpoint,
&openib_btl->recv_free_eager, &openib_btl->recv_free_eager,
&openib_btl->rr_posted_high, &openib_btl->rr_posted_high,
openib_btl->nic, endpoint->lcl_qp_high
endpoint->lcl_qp_hndl_high );
);
if(rc != OMPI_SUCCESS){ if(rc != OMPI_SUCCESS){
OPAL_THREAD_UNLOCK(&openib_btl->ib_lock); OPAL_THREAD_UNLOCK(&openib_btl->ib_lock);
return rc; return rc;
@ -190,11 +190,10 @@ static inline int mca_btl_openib_endpoint_post_rr( mca_btl_openib_endpoint_t * e
if(openib_btl->rr_posted_low <= mca_btl_openib_component.ib_rr_buf_min+additional && openib_btl->rr_posted_low < mca_btl_openib_component.ib_rr_buf_max){ if(openib_btl->rr_posted_low <= mca_btl_openib_component.ib_rr_buf_min+additional && openib_btl->rr_posted_low < mca_btl_openib_component.ib_rr_buf_max){
rc = mca_btl_openib_endpoint_post_rr_sub(mca_btl_openib_component.ib_rr_buf_max - openib_btl->rr_posted_low, rc = mca_btl_openib_endpoint_post_rr_sub(mca_btl_openib_component.ib_rr_buf_max - openib_btl->rr_posted_low,
endpoint, endpoint,
&openib_btl->recv_free_max, &openib_btl->recv_free_max,
&openib_btl->rr_posted_low, &openib_btl->rr_posted_low,
openib_btl->nic, endpoint->lcl_qp_low
endpoint->lcl_qp_hndl_low
); );
if(rc != OMPI_SUCCESS) { if(rc != OMPI_SUCCESS) {
OPAL_THREAD_UNLOCK(&openib_btl->ib_lock); OPAL_THREAD_UNLOCK(&openib_btl->ib_lock);

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

@ -26,7 +26,7 @@
/* Debug Print */ /* Debug Print */
#if 0 #if 0
#define DEBUG_OUT(fmt, args...) { \ #define DEBUG_OUT(fmt, args...) { \
opal_output(0, "[%s:%d:%s] " fmt, __FILE__, __LINE__, __func__, \ opal_output(0, "[%s:%d:%s] " fmt, __FILE__, __LINE__, __func__, \
##args); \ ##args); \
} }

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

@ -29,7 +29,7 @@ static void mca_btl_openib_frag_common_constructor( mca_btl_openib_frag_t* frag)
frag->mr = registration->mr; frag->mr = registration->mr;
frag->segment.seg_len = frag->size; frag->segment.seg_len = frag->size;
frag->segment.seg_key.key32[0] = (uint32_t) frag->mr->lkey; frag->segment.seg_key.key32[0] = (uint32_t) frag->mr->lkey;
frag->sg_entry.addr = (uintprt_t) frag->hdr; frag->sg_entry.addr = (uintptr_t) frag->hdr;
frag->sg_entry.length = frag->size; frag->sg_entry.length = frag->size;
frag->sg_entry.lkey = frag->mr->lkey; frag->sg_entry.lkey = frag->mr->lkey;
frag->base.des_flags = 0; frag->base.des_flags = 0;

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

@ -59,7 +59,7 @@ struct mca_btl_openib_frag_t {
struct ibv_sge sg_entry; struct ibv_sge sg_entry;
struct ibv_mr *mr; struct ibv_mr *mr;
mca_btl_openib_header_t *hdr; mca_btl_openib_header_t *hdr;
mca_mpool_openib_registration_t * vapi_reg; mca_mpool_openib_registration_t * openib_reg;
}; };
typedef struct mca_btl_openib_frag_t mca_btl_openib_frag_t; typedef struct mca_btl_openib_frag_t mca_btl_openib_frag_t;
OBJ_CLASS_DECLARATION(mca_btl_openib_frag_t); OBJ_CLASS_DECLARATION(mca_btl_openib_frag_t);

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

@ -24,7 +24,6 @@
#include "opal/event/event.h" #include "opal/event/event.h"
#include "mca/mpool/mpool.h" #include "mca/mpool/mpool.h"
#include "mca/allocator/allocator.h" #include "mca/allocator/allocator.h"
#include "mca/common/vapi/vapi_mem_reg.h"
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
extern "C" { extern "C" {
@ -32,11 +31,11 @@ extern "C" {
static inline void * DOWN_ALIGN_ADDR(void * addr, uint32_t cnt) { static inline void * DOWN_ALIGN_ADDR(void * addr, uint32_t cnt) {
return (void*)((MT_virt_addr_t)(addr) & (~((MT_virt_addr_t)0) << (cnt))); return (void*)((uintptr_t)(addr) & (~((uintptr_t)0) << (cnt)));
} }
static inline void* ALIGN_ADDR(void* addr, uint32_t cnt ) { static inline void* ALIGN_ADDR(void* addr, uint32_t cnt ) {
DOWN_ALIGN_ADDR(((addr) + ~(~((MT_virt_addr_t)0) << (cnt))), (cnt)); DOWN_ALIGN_ADDR(((addr) + ~(~((uintptr_t)0) << (cnt))), (cnt));
return addr; return addr;
} }