Commit a69d9f4a authored by Xin Zhao's avatar Xin Zhao Committed by Pavan Balaji
Browse files

Bug-fix on sock: leave IOV slot for extended packet header.

In SendNoncontig_iov(), when extended packet header exists, we
should leave one IOV slot before loading data to IOVs, so that
MPIDI_CH3_iSendv() can have enough IOVs to send out hdr/ext_hdr/data.
Signed-off-by: default avatarMin Si <>
Signed-off-by: Pavan Balaji's avatarPavan Balaji <>
parent 46cca1cf
...@@ -35,6 +35,13 @@ int MPIDI_CH3_SendNoncontig_iov( MPIDI_VC_t *vc, MPID_Request *sreq, ...@@ -35,6 +35,13 @@ int MPIDI_CH3_SendNoncontig_iov( MPIDI_VC_t *vc, MPID_Request *sreq,
iov_n = MPID_IOV_LIMIT - 1; iov_n = MPID_IOV_LIMIT - 1;
if (sreq->dev.ext_hdr_sz > 0) {
/* When extended packet header exists, here we leave one IOV slot
* before loading data to IOVs, so that there will be enough
* IOVs for hdr/ext_hdr/data. */
mpi_errno = MPIDI_CH3U_Request_load_send_iov(sreq, &iov[1], &iov_n); mpi_errno = MPIDI_CH3U_Request_load_send_iov(sreq, &iov[1], &iov_n);
if (mpi_errno == MPI_SUCCESS) if (mpi_errno == MPI_SUCCESS)
{ {
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