diff VMS.c @ 48:054006c26b92

Added instrumentation to measure master time, master lock time and create time
author Me
date Tue, 26 Oct 2010 18:18:30 -0700
parents 72373405c816
children 984f7d78bfdf
line diff
     1.1 --- a/VMS.c	Sat Oct 16 04:11:15 2010 -0700
     1.2 +++ b/VMS.c	Tue Oct 26 18:18:30 2010 -0700
     1.3 @@ -112,7 +112,14 @@
     1.4     _VMSMasterEnv->masterVPs        = masterVPs;
     1.5     _VMSMasterEnv->allSchedSlots    = allSchedSlots;
     1.6  
     1.7 +   //============================= MEASUREMENT STUFF ========================
     1.8 +   #ifdef MEAS__TIME_MASTER
     1.9  
    1.10 +   _VMSMasterEnv->stats->masterTimeHist = makeHistogram( 25, 500,    800 );
    1.11 +   _VMSMasterEnv->stats->masterLockHist = makeHistogram( 25,   0, 100000 );
    1.12 +   _VMSMasterEnv->stats->createHist     = makeHistogram( 25,   0,   5000 );
    1.13 +   #endif
    1.14 +   //========================================================================
    1.15  
    1.16        //Aug 19, 2010:  no longer need to place initial masterVP into queue
    1.17        // because coreLoop now controls -- animates its masterVP when no work
    1.18 @@ -305,6 +312,13 @@
    1.19   { VirtProcr *newPr;
    1.20     char      *stackLocs, *stackPtr;
    1.21  
    1.22 +   //============================= MEASUREMENT STUFF ========================
    1.23 +   #ifdef MEAS__TIME_MASTER
    1.24 +   int32 startStamp;
    1.25 +   saveLowTimeStampCountInto( startStamp );
    1.26 +   #endif
    1.27 +   //========================================================================
    1.28 +
    1.29     newPr              = malloc( sizeof(VirtProcr) );
    1.30     newPr->procrID     = numProcrsCreated++;
    1.31     newPr->nextInstrPt = fnPtr;
    1.32 @@ -327,6 +341,15 @@
    1.33     newPr->stackPtr = stackPtr; //core loop will switch to this, then
    1.34     newPr->framePtr = stackPtr; //suspend loop will save new stack & frame ptr
    1.35  
    1.36 +  //============================= MEASUREMENT STUFF ========================
    1.37 +   #ifdef MEAS__TIME_MASTER
    1.38 +   int32 endStamp;
    1.39 +   saveLowTimeStampCountInto( endStamp );
    1.40 +   addIntervalToHist( startStamp, endStamp,
    1.41 +                      _VMSMasterEnv->stats->createHist );
    1.42 +   #endif
    1.43 +   //========================================================================
    1.44 +   
    1.45     return newPr;
    1.46   }
    1.47