[mpich-commits] r10681 - in mpich2/trunk/src: mpi/rma mpid/ch3/src

dinan at mcs.anl.gov dinan at mcs.anl.gov
Tue Nov 27 17:40:08 CST 2012


Author: dinan
Date: 2012-11-27 17:40:08 -0600 (Tue, 27 Nov 2012)
New Revision: 10681

Modified:
   mpich2/trunk/src/mpi/rma/raccumulate.c
   mpich2/trunk/src/mpi/rma/rget.c
   mpich2/trunk/src/mpi/rma/rget_accumulate.c
   mpich2/trunk/src/mpi/rma/rput.c
   mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c
Log:
RMA Req-ops: Fixed PROC_NULL handling

When called with a target process of PROC_NULL, RMA request-generating
operations did not return a valid request handle.

Reviewer: goodell

Modified: mpich2/trunk/src/mpi/rma/raccumulate.c
===================================================================
--- mpich2/trunk/src/mpi/rma/raccumulate.c	2012-11-27 23:40:06 UTC (rev 10680)
+++ mpich2/trunk/src/mpi/rma/raccumulate.c	2012-11-27 23:40:08 UTC (rev 10681)
@@ -153,8 +153,6 @@
 
     /* ... body of routine ...  */
     
-    if (target_rank == MPI_PROC_NULL) goto fn_exit;
-
     mpi_errno = MPIU_RMA_CALL(win_ptr,Raccumulate(origin_addr, origin_count, 
                                          origin_datatype,
                                          target_rank, target_disp, target_count,

Modified: mpich2/trunk/src/mpi/rma/rget.c
===================================================================
--- mpich2/trunk/src/mpi/rma/rget.c	2012-11-27 23:40:06 UTC (rev 10680)
+++ mpich2/trunk/src/mpi/rma/rget.c	2012-11-27 23:40:08 UTC (rev 10681)
@@ -147,8 +147,6 @@
 
     /* ... body of routine ...  */
     
-    if (target_rank == MPI_PROC_NULL) goto fn_exit;
-
     mpi_errno = MPIU_RMA_CALL(win_ptr,
                               Rget(origin_addr, origin_count, origin_datatype,
                                   target_rank, target_disp, target_count,

Modified: mpich2/trunk/src/mpi/rma/rget_accumulate.c
===================================================================
--- mpich2/trunk/src/mpi/rma/rget_accumulate.c	2012-11-27 23:40:06 UTC (rev 10680)
+++ mpich2/trunk/src/mpi/rma/rget_accumulate.c	2012-11-27 23:40:08 UTC (rev 10681)
@@ -179,8 +179,6 @@
 
     /* ... body of routine ...  */
     
-    if (target_rank == MPI_PROC_NULL) goto fn_exit;
-
     mpi_errno = MPIU_RMA_CALL(win_ptr,Rget_accumulate(origin_addr, origin_count, 
                                          origin_datatype,
                                          result_addr, result_count,

Modified: mpich2/trunk/src/mpi/rma/rput.c
===================================================================
--- mpich2/trunk/src/mpi/rma/rput.c	2012-11-27 23:40:06 UTC (rev 10680)
+++ mpich2/trunk/src/mpi/rma/rput.c	2012-11-27 23:40:08 UTC (rev 10681)
@@ -149,8 +149,6 @@
 
     /* ... body of routine ...  */
     
-    if (target_rank == MPI_PROC_NULL) goto fn_exit;
-
     mpi_errno = MPIU_RMA_CALL(win_ptr,
                               Rput(origin_addr, origin_count, origin_datatype,
                                   target_rank, target_disp, target_count,

Modified: mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c	2012-11-27 23:40:06 UTC (rev 10680)
+++ mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c	2012-11-27 23:40:08 UTC (rev 10681)
@@ -33,7 +33,9 @@
     /* If this is a local operation, it's already complete.  Otherwise, call
      * flush to complete the operation */
     /* FIXME: We still may need to flush or sync for shared memory windows */
-    if (req_state->target_rank != req_state->win_ptr->comm_ptr->rank) {
+    if (req_state->target_rank != req_state->win_ptr->comm_ptr->rank &&
+        req_state->target_rank != MPI_PROC_NULL)
+    {
         mpi_errno = req_state->win_ptr->RMAFns.Win_flush(req_state->target_rank,
                                                          req_state->win_ptr);
 



More information about the commits mailing list