fixed couple bugs in previous checkin about persistent
authorGengbin Zheng <gzheng@illinois.edu>
Wed, 14 Sep 2011 16:12:28 +0000 (09:12 -0700)
committerGengbin Zheng <gzheng@illinois.edu>
Wed, 14 Sep 2011 16:12:28 +0000 (09:12 -0700)
src/arch/gemini_gni/machine.c

index ebd7366dc54dc7ee6aa9d0213251fff1a9252c42..ac1551ddc2d38546d30e98b18a66a355ef283ecf 100644 (file)
@@ -96,7 +96,8 @@ static int  SMSG_MAX_MSG;
 #define LRTS_GNI_RDMA_THRESHOLD  4096
 
 #define REMOTE_QUEUE_ENTRIES  1048576
-#define LOCAL_QUEUE_ENTRIES   32
+#define LOCAL_QUEUE_ENTRIES   1024
+
 #define PUT_DONE_TAG      0x29
 #define ACK_TAG           0x30
 /* SMSG is data message */
@@ -844,6 +845,7 @@ static void PumpNetworkSmsg()
             case PUT_DONE_TAG: //persistent message
             {
                 handleOneRecvedMsg(((CONTROL_MSG *) header)->length,((void*) (CONTROL_MSG *) header)); 
+               break;
             }
             default: {
                 CmiPrintf("weird tag problem\n");
@@ -1078,8 +1080,8 @@ static void PumpLocalRdmaTransactions()
             CmiAssert(SIZEFIELD((void*)(tmp_pd->local_addr)) <= tmp_pd->length);
             handleOneRecvedMsg(tmp_pd->length, (void*)tmp_pd->local_addr); 
             SendRdmaMsg(); 
+            FreePostDesc(tmp_pd);
         }
-        FreePostDesc(tmp_pd);
     } //end while
 }