fix error in previous commit
authorXiang Ni <xiangni2@illinois.edu>
Wed, 10 Apr 2013 04:13:11 +0000 (23:13 -0500)
committerXiang Ni <xiangni2@illinois.edu>
Wed, 10 Apr 2013 04:13:11 +0000 (23:13 -0500)
src/ck-core/ckmemcheckpoint.C

index 75dc2ffeb4cb684a11fb1133d7de5ef549cfd4d4..715bdbe758c1851264ac08650e03a4786d7a003a 100644 (file)
@@ -80,6 +80,7 @@ CpvDeclare(int, _remoteCrashedNode);
 // static, so that it is accessible from Converse part
 int CkMemCheckPT::inRestarting = 0;
 int CkMemCheckPT::inCheckpointing = 0;
+int CkMemCheckPT::aboutToDie = 0;
 int CkMemCheckPT::replicaAlive = 1;
 int CkMemCheckPT::inLoadbalancing = 0;
 double CkMemCheckPT::startTime;
@@ -568,7 +569,7 @@ void CkMemCheckPT::startChkp(){
   if(CkInCheckpointing()){
     return;
   }
-  CkPrintf("start checkpoint at %lf in %lf\n",CmiWallTimer(),CmiWallTimer()-startTime);
+  CkPrintf("[%d][%d]start checkpoint at %lf in %lf\n",CmiMyPartition(), CkMyPe(),CmiWallTimer(),CmiWallTimer()-startTime);
   CkStartMemCheckpoint(cpCallback);
 }
 
@@ -990,7 +991,7 @@ void CkMemCheckPT::doneBothComparison(){
   inCheckpointing = 0;
   notifyReplica = 0;
   if(CkMyPe() == 0){
-    CmiPrintf("[%d][%d] Checkpoint finished in %f seconds at %lf, checkpoint size %d, sending callback ... \n", CmiMyPartition(),CkMyPe(), CmiWallTimer()-startTime,CmiWallTimer(),size);
+    CmiPrintf("[%d][%d] Checkpoint finished in %f seconds at %lf, checkpoint size %d, memory usage %lf sending callback ... \n", CmiMyPartition(),CkMyPe(), CmiWallTimer()-startTime,CmiWallTimer(),size, CmiMemoryUsage()/1048576.0);
   }
   CKLOCMGR_LOOP(mgr->resumeFromChkp(););//TODO wait until the replica finish the checkpoint
 }
@@ -1730,6 +1731,7 @@ void CkMemCheckPT::RollBack(){
       if(CkReplicaAlive()==1){
         char * msg = (char*)CmiAlloc(CmiMsgHeaderSizeBytes);
         CmiSetHandler(msg, replicaChkpStartHandlerIdx);
+        CkPrintf("[%d][%d] send checkpoint start msg to my replica\n", CmiMyPartition(), CkMyPe());
         CmiRemoteSyncSendAndFree(0,CmiMyPartition()^1,CmiMsgHeaderSizeBytes,msg);
       }
       CpvAccess(localStarted) = 1;
@@ -2446,6 +2448,7 @@ void CkMemCheckPT::RollBack(){
 #if CMK_MEM_CHECKPOINT
       // notify
       CkMemCheckPT::inRestarting = 1;
+      CkMemCheckPT::aboutToDie =  1;
       int diepe = *(int *)(msg+CmiMsgHeaderSizeBytes);
       notify_crash(diepe);
       // send message to crash pe to let it restart