Commit c83b6b2d authored by Min Si's avatar Min Si Committed by Pavan Balaji
Browse files

Always free issued OPs when window resource is used up.



When win resource is used up, the current code frees OPs before
completion only if flush_remote is ordered. However, we can always free
them even on out-of-order network. Because remote completion is waited
by ack counter, and local completion (flush_local) is translated to
remote completion (flush).
Signed-off-by: default avatarXin Zhao <xinzhao3@illinois.edu>
Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
parent eef0c70a
......@@ -554,11 +554,9 @@ static inline int MPIDI_CH3I_Win_get_op(MPID_Win * win_ptr, MPIDI_RMA_Op_t ** e)
if (new_ptr != NULL)
break;
if (MPIDI_RMA_Pkt_orderings->flush_remote) {
mpi_errno = MPIDI_CH3I_RMA_Free_ops_before_completion(win_ptr);
if (mpi_errno != MPI_SUCCESS)
MPIU_ERR_POP(mpi_errno);
}
mpi_errno = MPIDI_CH3I_RMA_Free_ops_before_completion(win_ptr);
if (mpi_errno != MPI_SUCCESS)
MPIU_ERR_POP(mpi_errno);
MPIR_T_PVAR_TIMER_START(RMA, rma_rmaqueue_alloc);
new_ptr = MPIDI_CH3I_Win_op_alloc(win_ptr);
......
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