synchronization code in interrupt handler...fixes all but the rare bme core doesn...
authorbdemsky <bdemsky>
Thu, 30 Jun 2011 11:53:05 +0000 (11:53 +0000)
committerbdemsky <bdemsky>
Thu, 30 Jun 2011 11:53:05 +0000 (11:53 +0000)
Robust/src/Runtime/bamboo/multicoremsg.c
Robust/src/Runtime/bamboo/multicoreruntime.c

index 420a6a805a368730460ee20d09dfeb7ffb54c384..12783afe56299f8aed725aab0c0c80ac769cbd82 100644 (file)
@@ -708,7 +708,7 @@ INLINE void processmsg_gcfinishpref_I() {
 #endif // GC_CACHE_ADAPT
 #endif // #ifdef MULTICORE_GC
 
-void processmg_req_notify_start() {
+void processmsg_req_notify_start() {
   startflag=true;
   if(BAMBOO_CHECK_SEND_MODE()) {
     cache_msg_1_I(STARTUPCORE,NOTIFYSTART);
@@ -717,7 +717,7 @@ void processmg_req_notify_start() {
   }  
 }
 
-void processmg_notify_start() {
+void processmsg_notify_start() {
   numconfirm--;
 }
 
index 73835dd3556ee1f526cab7314ce2418dffc773d6..1ed250e8b218c7371f9b9978fdc5b956afac5f7d 100644 (file)
@@ -755,7 +755,6 @@ inline void run(int argc, char** argv) {
   bool tocontinue = false;
   startflag = false;
   corenum = BAMBOO_GET_NUM_OF_CORE();
-
   // initialize runtime data structures
   initruntimedata();
   initCommunication();
@@ -764,11 +763,13 @@ inline void run(int argc, char** argv) {
     numconfirm=NUMCORES-1;
     for(int i=0;i<NUMCORES;i++) {
       if (i!=STARTUPCORE) {
-       send_msg_1(STARTUPCORE,REQ_NOTIFY_START);
+       send_msg_1(i,REQNOTIFYSTART);
       }
     }
     while(numconfirm!=0)
       ;
+    tprintf("start! \n");
+    bamboo_start_time = BAMBOO_GET_EXE_TIME();
   } else {
     while(!startflag)
       ;