Commit 90522a13 authored by Su Huang's avatar Su Huang Committed by Pavan Balaji
Browse files

Fix uninitialized parameters for one sided communication in pamid



(ibm) D191388 : MPICOM case with mpich2 hit Assertion failed issue
(ibm) AIX71J
Signed-off-by: default avatarCharles Archer <archerc@us.ibm.com>
parent 60a2d9fe
......@@ -65,28 +65,19 @@ MPIDI_Get_use_pami_rget(pami_context_t context, MPIDI_Win_request * req, int *fr
{
pami_result_t rc;
void *map=NULL;
pami_rget_simple_t params;
pami_rget_simple_t params = {
.rma = {
.dest = req->dest,
.hints = {
.buffer_registered = PAMI_HINT_ENABLE,
.use_rdma = PAMI_HINT_ENABLE,
},
.bytes = 0,
.cookie = req,
.done_fn = MPIDI_Win_DoneCB,
},
.rdma = {
.local = {
.mr = &req->origin.memregion,
},
.remote = {
.mr = &req->win->mpid.info[req->target.rank].memregion,
.offset = req->offset,
},
},
};
params=zero_rget_parms;
params.rma.dest=req->dest;
params.rma.hints.buffer_registered = PAMI_HINT_ENABLE;
params.rma.hints.use_rdma = PAMI_HINT_ENABLE;
params.rma.bytes = 0;
params.rma.cookie = req;
params.rma.done_fn = MPIDI_Win_DoneCB;
params.rdma.local.mr=&req->origin.memregion;
params.rdma.remote.mr=&req->win->mpid.info[req->target.rank].memregion;
params.rdma.remote.offset= req->offset;
struct MPIDI_Win_sync* sync = &req->win->mpid.sync;
TRACE_ERR("Start index=%u/%d l-addr=%p r-base=%p r-offset=%zu (sync->started=%u sync->complete=%u)\n",
......@@ -136,25 +127,20 @@ MPIDI_Get_use_pami_get(pami_context_t context, MPIDI_Win_request * req, int *fre
{
pami_result_t rc;
void *map=NULL;
pami_get_simple_t params;
params=zero_get_parms;
pami_get_simple_t params = {
.rma = {
.dest = req->dest,
.hints = {
.use_rdma = PAMI_HINT_DEFAULT,
params.rma.dest=req->dest;
params.rma.hints.use_rdma = PAMI_HINT_DEFAULT;
#ifndef OUT_OF_ORDER_HANDLING
.no_long_header= 1,
params.rma.hints.no_long_header= 1,
#endif
},
.bytes = 0,
.cookie = req,
.done_fn = MPIDI_Win_DoneCB,
},
.addr = {
.local = req->buffer,
.remote = req->win->mpid.info[req->target.rank].base_addr,
},
};
params.rma.bytes = 0;
params.rma.cookie = req;
params.rma.done_fn = MPIDI_Win_DoneCB;
params.addr.local=req->buffer;
params.addr.remote= req->win->mpid.info[req->target.rank].base_addr;
struct MPIDI_Win_sync* sync = &req->win->mpid.sync;
TRACE_ERR("Start index=%u/%d l-addr=%p r-base=%p r-offset=%zu (sync->started=%u sync->complete=%u)\n",
......
......@@ -67,7 +67,7 @@ MPIDI_Put_use_pami_rput(pami_context_t context, MPIDI_Win_request * req,int *fre
void *map;
pami_rput_simple_t params;
/* params need to zero out to avoid passing garbage to PAMI */
memset((void *) &params,0,sizeof(pami_rput_simple_t));
params=zero_rput_parms;
params.rma.dest=req->dest;
params.rma.hints.buffer_registered = PAMI_HINT_ENABLE;
......@@ -129,28 +129,22 @@ MPIDI_Put_use_pami_put(pami_context_t context, MPIDI_Win_request * req,int *fr
{
pami_result_t rc;
void *map;
pami_put_simple_t params;
pami_put_simple_t params = {
.rma = {
.dest = req->dest,
.hints = {
.use_rdma= PAMI_HINT_DEFAULT,
params = zero_put_parms;
params.rma.dest=req->dest;
params.rma.hints.use_rdma = PAMI_HINT_DEFAULT;
#ifndef OUT_OF_ORDER_HANDLING
.no_long_header= 1,
params.rma.hints.no_long_header= 1,
#endif
},
.bytes = 0,
.cookie = req,
.done_fn = NULL,
},
.addr = {
.local = req->buffer,
.remote = req->win->mpid.info[req->target.rank].base_addr,
},
.put = {
.rdone_fn = MPIDI_Win_DoneCB,
},
};
params.rma.bytes = 0;
params.rma.cookie = req;
params.rma.done_fn = NULL;
params.addr.local=req->buffer;
params.addr.remote=req->win->mpid.info[req->target.rank].base_addr;
params.put.rdone_fn= MPIDI_Win_DoneCB;
struct MPIDI_Win_sync* sync = &req->win->mpid.sync;
TRACE_ERR("Start index=%u/%d l-addr=%p r-base=%p r-offset=%zu (sync->started=%u sync->complete=%u)\n",
req->state.index, req->target.dt.num_contig, req->buffer, req->win->mpid.info[req->target.rank].base_addr, req->offset, sync->started, sync->complete);
......
......@@ -24,6 +24,10 @@
#ifndef __src_onesided_mpidi_onesided_h__
#define __src_onesided_mpidi_onesided_h__
pami_rget_simple_t zero_rget_parms;
pami_get_simple_t zero_get_parms;
pami_rput_simple_t zero_rput_parms;
pami_put_simple_t zero_put_parms;
/**
* \brief One-sided Message Types
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment