"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/mpid/ch3/channels/mrail/src/rdma/ch3_contigsend.c" between
mvapich2-2.3.1.tar.gz and mvapich2-2.3.2.tar.gz

About: MVAPICH2 offers "MPI over InfiniBand, 10GigE/iWARP and RDMA over Converged Ethernet (RoCE)" to achieve best performance, scalability and fault tolerance for high-end computing systems and servers.

ch3_contigsend.c  (mvapich2-2.3.1):ch3_contigsend.c  (mvapich2-2.3.2)
skipping to change at line 119 skipping to change at line 119
/* If send queue is empty attempt to send /* If send queue is empty attempt to send
data, queuing any unsent data. */ data, queuing any unsent data. */
if (MPIDI_CH3I_SMP_SendQ_empty(vc)) { if (MPIDI_CH3I_SMP_SendQ_empty(vc)) {
int nb; int nb;
/* MT - need some signalling to lock down our right to use the /* MT - need some signalling to lock down our right to use the
channel, thus insuring that the progress engine does also try to channel, thus insuring that the progress engine does also try to
write */ write */
MPIDI_CH3I_SMP_write_contig(vc, reqtype, buf, data_sz, rank, MPIDI_CH3I_SMP_write_contig(vc, reqtype, buf, data_sz, rank,
tag, comm, context_offset, &nb); tag, comm, context_offset, &nb);
DEBUG_PRINT("ch3_smp_contigsend: writev returned %d bytes\n", nb); PRINT_DEBUG(DEBUG_SHM_verbose>1,
"dst: %d, reqtype: %d, data_sz: %d, writev returned %d bytes\n",
vc->pg_rank, reqtype, data_sz, nb);
/* send all or NULL */ /* send all or NULL */
if( !nb ) { if( !nb ) {
/* no available shared memory buffer, enqueue request, fallback to /* no available shared memory buffer, enqueue request, fallback to
* MPIDI_CH3_PKT_EAGER_SEND */ * MPIDI_CH3_PKT_EAGER_SEND */
sreq = create_eagercontig_request_inline(vc, sreq = create_eagercontig_request_inline(vc,
MPIDI_CH3_PKT_EAGER_SEND, buf, data_sz, rank, tag, comm, MPIDI_CH3_PKT_EAGER_SEND, buf, data_sz, rank, tag, comm,
context_offset); context_offset);
if (sreq == NULL) { if (sreq == NULL) {
MPIR_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|contigsend" ); MPIR_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|contigsend" );
} }
MPIDI_CH3I_SMP_SendQ_enqueue_head(vc, sreq); MPIDI_CH3I_SMP_SendQ_enqueue_head(vc, sreq);
vc->smp.send_active = sreq; vc->smp.send_active = sreq;
PRINT_DEBUG(DEBUG_SHM_verbose>1, "Enqueueing sreq: %p to vc: %d\n", sreq, vc->pg_rank);
} }
} else { } else {
/* sendQ not empty, enqueue request, fallback MPIDI_CH3_PKT_EAGER_SEND * / /* sendQ not empty, enqueue request, fallback MPIDI_CH3_PKT_EAGER_SEND * /
sreq = create_eagercontig_request_inline(vc, MPIDI_CH3_PKT_EAGER_SEND, sreq = create_eagercontig_request_inline(vc, MPIDI_CH3_PKT_EAGER_SEND,
buf, data_sz, rank, tag, comm, context_offset); buf, data_sz, rank, tag, comm, context_offset);
if (sreq == NULL) { if (sreq == NULL) {
MPIR_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|contigsend"); MPIR_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|contigsend");
} }
MPIDI_CH3I_SMP_SendQ_enqueue(vc, sreq); MPIDI_CH3I_SMP_SendQ_enqueue(vc, sreq);
PRINT_DEBUG(DEBUG_SHM_verbose>1, "Enqueueing sreq: %p to vc: %d\n", sreq , vc->pg_rank);
} }
*sreq_p = sreq; *sreq_p = sreq;
MPIDI_FUNC_EXIT(MPID_STATE_MPIDI_CH3_SMP_CONTIGSEND); MPIDI_FUNC_EXIT(MPID_STATE_MPIDI_CH3_SMP_CONTIGSEND);
fn_fail: fn_fail:
return mpi_errno; return mpi_errno;
} }
#undef FUNCNAME #undef FUNCNAME
 End of changes. 3 change blocks. 
1 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)