changeset 68:81a0f076b12e Holistic_Model

Merged Nina's shutdown fix with schedSlot -> animSlot and other name chgs
author Some Random Person <seanhalle@yahoo.com>
date Fri, 16 Mar 2012 23:47:37 -0700
parents b5b5323b4177 ce95c4d84fcd
children 8882e795016d
files SSR.c SSR.h SSR_Counter_Recording.c SSR_PluginFns.c
diffstat 3 files changed, 8 insertions(+), 1 deletions(-) [+]
line diff
     1.1 --- a/SSR.c	Fri Mar 16 23:41:31 2012 -0700
     1.2 +++ b/SSR.c	Fri Mar 16 23:47:37 2012 -0700
     1.3 @@ -199,6 +199,7 @@
     1.4     #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS
     1.5     SSR__init_counter_data_structs();
     1.6     #endif
     1.7 +   semanticEnv->shutdownInitiated = FALSE;
     1.8     for(i=0;i<NUM_CORES;++i){
     1.9         for(j=0;j<NUM_SCHED_SLOTS;++j){
    1.10             semanticEnv->idlePr[i][j] = VMS_int__create_slaveVP(&idle_fn,NULL);
     2.1 --- a/SSR.h	Fri Mar 16 23:41:31 2012 -0700
     2.2 +++ b/SSR.h	Fri Mar 16 23:47:37 2012 -0700
     2.3 @@ -127,6 +127,7 @@
     2.4     ListOfArrays* counterList[NUM_CORES];
     2.5     #endif
     2.6     SlaveVP* idlePr[NUM_CORES][NUM_SCHED_SLOTS];
     2.7 +   int shutdownInitiated;
     2.8   }
     2.9  SSRSemEnv;
    2.10  
     3.1 --- a/SSR_PluginFns.c	Fri Mar 16 23:41:31 2012 -0700
     3.2 +++ b/SSR_PluginFns.c	Fri Mar 16 23:47:37 2012 -0700
     3.3 @@ -48,6 +48,10 @@
     3.4        //Note, using a non-blocking queue -- it returns NULL if queue empty
     3.5    if(!assignPr){
     3.6         assignPr = semEnv->idlePr[coreNum][slotNum];
     3.7 +      
     3.8 +      if(semEnv->shutdownInitiated) {
     3.9 +          schedPr = VMS_SS__create_shutdown_slave();
    3.10 +      }
    3.11       //things that would normally happen in resume(), but these VPs never go there
    3.12       #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC
    3.13          assignPr->assignCount++; //Somewhere here!
    3.14 @@ -188,7 +192,8 @@
    3.15     semEnv->numSlaveVP -= 1;
    3.16     if( semEnv->numSlaveVP == 0 )
    3.17      {    //no more work, so shutdown
    3.18 -      VMS_SS__shutdown();
    3.19 +       semEnv->shutdownInitiated = TRUE;
    3.20 +      //VMS_SS__shutdown();
    3.21      }
    3.22   }
    3.23