Author: dinan Date: 2012-12-13 11:01:34 -0600 (Thu, 13 Dec 2012) New Revision: 10767 Modified: mpich2/trunk/src/mpid/ch3/src/ch3u_rma_sync.c mpich2/trunk/src/util/param/params.yml Log: RMA Lock-op-unlock opimization parameter. Added a paremeter to enable/disable the RMA lock-op-unlock merging optimization. Reviewer: buntinas Modified: mpich2/trunk/src/mpid/ch3/src/ch3u_rma_sync.c =================================================================== --- mpich2/trunk/src/mpid/ch3/src/ch3u_rma_sync.c 2012-12-12 05:47:59 UTC (rev 10766) +++ mpich2/trunk/src/mpid/ch3/src/ch3u_rma_sync.c 2012-12-13 17:01:34 UTC (rev 10767) @@ -2018,7 +2018,8 @@ /* TODO: MPI-3: Add lock_all->op optimization. */ /* LOCK-OP-UNLOCK Optimization -- This optimization can't be used if we have already requested the lock. */ - if ( rma_op && rma_op->type == MPIDI_RMA_LOCK && + if ( MPIR_PARAM_RMA_MERGE_LOCK_OP_UNLOCK && + rma_op && rma_op->type == MPIDI_RMA_LOCK && rma_op->next->next == NULL && rma_op->next->type != MPIDI_RMA_COMPARE_AND_SWAP && rma_op->next->type != MPIDI_RMA_FETCH_AND_OP && Modified: mpich2/trunk/src/util/param/params.yml =================================================================== --- mpich2/trunk/src/util/param/params.yml 2012-12-12 05:47:59 UTC (rev 10766) +++ mpich2/trunk/src/util/param/params.yml 2012-12-13 17:01:34 UTC (rev 10767) @@ -226,6 +226,14 @@ Issue a request for the passive target RMA lock immediately. Default behavior is to defer the lock request until the call to MPI_Win_unlock. + - category : rma + name : RMA_MERGE_LOCK_OP_UNLOCK + type : boolean + default : true + description : >- + Enable/disable an optimization that merges lock, op, and unlock + messages, for single-operation passive target epochs. + ############################################################## # intranode communication parameters - category : intranode