fix persistent comm thread tracing
authorYanhua Sun <yanhuas@jyc1.(none)>
Fri, 23 Mar 2012 05:51:37 +0000 (00:51 -0500)
committerYanhua Sun <yanhuas@jyc1.(none)>
Fri, 23 Mar 2012 05:51:37 +0000 (00:51 -0500)
src/arch/gemini_gni/machine-persistent.c
src/arch/gemini_gni/machine.c

index 4ed95f3d1eea5c158053816460671fdc981a9f0b..37776fca217bd994465c6ac76c65ddca65027f51 100644 (file)
@@ -36,6 +36,7 @@ void LrtsSendPersistentMsg(PersistentHandle h, int destNode, int size, void *m)
         // CmiPrintf("[%d] LrtsSendPersistentMsg h=%p hdl=%d destNode=%d destAddress=%p size=%d\n", CmiMyPe(), h, CmiGetHandler(m), destNode, slot->destBuf[0].destAddress, size);
 
         // uGNI part
+        START_EVENT();
         MallocPostDesc(pd);
         if(size <= LRTS_GNI_RDMA_THRESHOLD) {
             pd->type            = GNI_POST_FMA_PUT;
@@ -61,6 +62,7 @@ void LrtsSendPersistentMsg(PersistentHandle h, int destNode, int size, void *m)
 #endif
         SetMemHndlZero(pd->local_mem_hndl);
 
+        TRACE_COMM_CREATION(CpvAccess(projTraceStart), (void*)pd->local_addr);
          /* always buffer */
 #if CMK_SMP || 1
 #if REMOTE_EVENT
index 126c9679b35b5df4f1e20b24dd1ce4ddb3d59be9..2fc649f0baedb0609a570f11709590b6733a062c 100644 (file)
@@ -2641,11 +2641,13 @@ static void PumpRemoteTransactions()
 #if CMK_PERSISTENT_COMM
         case 1:  {    // PERSISTENT
             CmiAssert(GetIndexType(persistPool, index) == 2);
+            START_EVENT();
             PersistentReceivesTable *slot = GetIndexAddress(persistPool, index);
             msg = slot->destBuf[0].destAddress;
             size = CmiGetMsgSize(msg);
             CmiReference(msg);
             CMI_CHECK_CHECKSUM(msg, size);
+            TRACE_COMM_CREATION(CpvAccess(projTraceStart), msg);
             handleOneRecvedMsg(size, msg); 
             break;
             }