[mpich2-commits] r7426 - in mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3: channels/nemesis/nemesis/netmod/wintcp include src

thakur at mcs.anl.gov thakur at mcs.anl.gov
Mon Nov 8 14:02:35 CST 2010


Author: thakur
Date: 2010-11-08 14:02:35 -0600 (Mon, 08 Nov 2010)
New Revision: 7426

Modified:
   mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
   mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/include/mpidrma.h
   mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/src/ch3u_rma_sync.c
Log:
applied r7425 from trunk. RMA fixes


Property changes on: mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /mpich2/branches/dev/ckpt/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5050
/mpich2/branches/dev/ckpt2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5057-6537
/mpich2/branches/dev/ftb/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5661-5730
/mpich2/branches/dev/lapi/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5817
/mpich2/branches/dev/win_rrvm/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:6416,6428
/mpich2/branches/dev/wintcp_async_progress/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5406
/mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420
   + /mpich2/branches/dev/ckpt/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5050
/mpich2/branches/dev/ckpt2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5057-6537
/mpich2/branches/dev/ftb/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5661-5730
/mpich2/branches/dev/lapi/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5817
/mpich2/branches/dev/win_rrvm/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:6416,6428
/mpich2/branches/dev/wintcp_async_progress/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5008-5009,5123,5555-5559,5561-5564,5566-5567,5570,5577-5581,5613-5616,5619
/mpich2/branches/release/mpich2-1.1.1/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5022,5032,5110,5113,5140-5141
/mpich2/branches/release/mpich2-1.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:5406
/mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/wintcp/socksm.c:7355-7359,7366-7367,7371-7402,7406-7409,7411-7416,7419-7420,7425

Modified: mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/include/mpidrma.h
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/include/mpidrma.h	2010-11-08 15:06:34 UTC (rev 7425)
+++ mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/include/mpidrma.h	2010-11-08 20:02:35 UTC (rev 7426)
@@ -68,4 +68,8 @@
     MPIDI_VC_t * vc;
     struct MPIDI_PT_single_op *pt_single_op;  /* to store info for lock-put-unlock optimization */
 } MPIDI_Win_lock_queue;
+
+/* Routine use to tune RMA optimizations */
+void MPIDI_CH3_RMA_SetAccImmed( int flag );
+
 #endif

Modified: mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/src/ch3u_rma_sync.c
===================================================================
--- mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/src/ch3u_rma_sync.c	2010-11-08 15:06:34 UTC (rev 7425)
+++ mpich2/branches/release/mpich2-1.3.x/src/mpid/ch3/src/ch3u_rma_sync.c	2010-11-08 20:02:35 UTC (rev 7426)
@@ -228,7 +228,7 @@
 	MPIU_INSTR_DURATION_INCR(winfence_issue,0,total_op_count);
 	MPIU_INSTR_DURATION_MAX(winfence_issue,1,total_op_count);
 	i = 0;
-	curr_ptr = win_ptr->rma_ops_list_head;
+	curr_ptr    = win_ptr->rma_ops_list_head;
 	prevNextPtr = &win_ptr->rma_ops_list_head;
 	while (curr_ptr != NULL)
 	{
@@ -259,6 +259,7 @@
 		mpi_errno = MPIDI_CH3I_Send_contig_acc_msg(curr_ptr, win_ptr,
 				   source_win_handle, target_win_handle, 
 				   &curr_ptr->request );
+		if (mpi_errno) { MPIU_ERR_POP(mpi_errno); }
 		break;
 	    case (MPIDI_RMA_GET):
 		mpi_errno = MPIDI_CH3I_Recv_rma_msg(curr_ptr, win_ptr,
@@ -284,8 +285,8 @@
 		curr_ptr     = tmpptr;
 	    }
 	    else  {
+		prevNextPtr = &curr_ptr->next;
 		curr_ptr    = curr_ptr->next;
-		prevNextPtr = &curr_ptr->next;
 		/* FIXME: We could at least occassionally try to wait
 		   on completion of the pending send requests rather than
 		   focus on filling the queues.  */
@@ -1322,7 +1323,7 @@
         
     i = 0;
     prevNextPtr = &win_ptr->rma_ops_list_head;
-    curr_ptr = win_ptr->rma_ops_list_head;
+    curr_ptr    = win_ptr->rma_ops_list_head;
     while (curr_ptr != NULL)
     {
 	/* The completion counter at the target is decremented only on 
@@ -1352,6 +1353,7 @@
 	    mpi_errno = MPIDI_CH3I_Send_contig_acc_msg(curr_ptr, win_ptr,
 				       source_win_handle, target_win_handle, 
 				       &curr_ptr->request );
+	    if (mpi_errno) { MPIU_ERR_POP(mpi_errno); }
 	    break;
 	case (MPIDI_RMA_GET):
 	    mpi_errno = MPIDI_CH3I_Recv_rma_msg(curr_ptr, win_ptr,
@@ -1377,8 +1379,8 @@
 	    curr_ptr     = tmpptr;
 	}
 	else  {
+	    prevNextPtr = &curr_ptr->next;
 	    curr_ptr    = curr_ptr->next;
-	    prevNextPtr = &curr_ptr->next;
 	}
     }
     MPIU_INSTR_DURATION_END(wincomplete_issue);
@@ -1427,7 +1429,9 @@
 		/* Its hard to use the automatic allocator here, as those 
 		   macros are optimized for a known maximum number of items. */
 		MPIDI_RMA_ops *new_ptr;
+		MPIU_INSTR_DURATION_START(rmaqueue_alloc);
 		new_ptr = (MPIDI_RMA_ops *)MPIU_Malloc(sizeof(MPIDI_RMA_ops) );
+		MPIU_INSTR_DURATION_END(rmaqueue_alloc);
 		/* --BEGIN ERROR HANDLING-- */
 		if (!new_ptr) {
 		    MPIU_CHKMEM_SETERR(mpi_errno,sizeof(MPIDI_RMA_ops),
@@ -1986,6 +1990,7 @@
 	    mpi_errno = MPIDI_CH3I_Send_contig_acc_msg(curr_ptr, win_ptr,
 				       source_win_handle, target_win_handle, 
 				       &curr_ptr->request );
+	    if (mpi_errno) { MPIU_ERR_POP(mpi_errno); }
 	    break;
         case (MPIDI_RMA_GET):
             mpi_errno = MPIDI_CH3I_Recv_rma_msg(curr_ptr, win_ptr,
@@ -2010,8 +2015,8 @@
 	    curr_ptr     = tmpptr;
 	}
 	else  {
+	    prevNextPtr = &curr_ptr->next;
 	    curr_ptr    = curr_ptr->next;
-	    prevNextPtr = &curr_ptr->next;
 	}
     }
     MPIU_INSTR_DURATION_END(winunlock_issue);



More information about the mpich2-commits mailing list