[mpich-commits] r10767 - in mpich2/trunk/src: mpid/ch3/src util/param

dinan at mcs.anl.gov dinan at mcs.anl.gov
Thu Dec 13 11:01:35 CST 2012


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



More information about the commits mailing list