[mpich-devel] Regarding direct receive

Kirjanov, Denis Denis.Kirjanov at t-platforms.ru
Tue Apr 9 06:54:55 CDT 2013


Hello,
I'm writing a netmod and I have a trouble with receiving a messages directly to the user buffer:

The relevant code looks like the following:

Assuming we have a request with the one iov entry
/***************
if (!VC_CH(vc)->recv_active) {
/* handle a new message using MPID_nem_handle_pkt() */
} else {
MPIU_Memcpy(iov->MPID_IOV_BUF, &recv_buff->buff[0], bytes_recvd);
iov->MPID_IOV_BUF = (void *)((char *)iov->MPID_IOV_BUF + bytes_recvd);
iov->MPID_IOV_LEN -= bytes_recvd;
}

if (iov->MPID_IOV_LEN) {
/* receive directly to the iov->MPID_IOV_BUF next time*/
goto fn_exit;
}

/* handle a recv request */
}
********************/
The problem that I'm running an IMB program compiled with CHECK option and it claims about corrupted buffer.
Is this is a right way to handle packet chunks which will be saved in the user buffer pointer provided in the rreq?

Thanks!


More information about the devel mailing list