# HG changeset patch # User Nina Engelhardt # Date 1364403997 -3600 # Node ID 6fcf6aa5c0822e0565d6b8821374ec184446ea42 # Parent a6005210f581d6bbbd428e1db63549c6ae0e06d8 define switch between sys malloc and vms malloc diff -r a6005210f581 -r 6fcf6aa5c082 CoreController.c --- a/CoreController.c Wed Mar 06 14:32:23 2013 +0100 +++ b/CoreController.c Wed Mar 27 18:06:37 2013 +0100 @@ -144,13 +144,18 @@ if( currSlotIdx >= NUM_ANIM_SLOTS ) goto switchToMaster; currSlot = animSlots[ currSlotIdx ]; - if( ! currSlot->needsSlaveAssigned ) //slot does have slave assigned - { if(currSlot->slaveAssignedToSlot->typeOfVP == Idle){ - numRepetitionsWithNoWork ++; - } else { - numRepetitionsWithNoWork = 0; //reset back2back master count - } - currSlotIdx ++; + if (!currSlot->needsSlaveAssigned) //slot does have slave assigned + { +#ifdef IDLE_SLAVES + if (currSlot->slaveAssignedToSlot->typeOfVP == Idle) { + numRepetitionsWithNoWork++; + } else { + numRepetitionsWithNoWork = 0; //reset back2back master count + } +#else + numRepetitionsWithNoWork = 0; +#endif + currSlotIdx++; currVP = currSlot->slaveAssignedToSlot; HOLISTIC__Record_last_work; } diff -r a6005210f581 -r 6fcf6aa5c082 HW_Dependent_Primitives/VMS__HW_measurement.c --- a/HW_Dependent_Primitives/VMS__HW_measurement.c Wed Mar 06 14:32:23 2013 +0100 +++ b/HW_Dependent_Primitives/VMS__HW_measurement.c Wed Mar 27 18:06:37 2013 +0100 @@ -19,7 +19,7 @@ hw_event.pinned = 1; /* must always be on PMU */ hw_event.exclusive = 0; /* only group on PMU */ hw_event.exclude_user = 0; /* don't count user */ - hw_event.exclude_kernel = 0; /* ditto kernel */ + hw_event.exclude_kernel = 1; /* ditto kernel */ hw_event.exclude_hv = 0; /* ditto hypervisor */ hw_event.exclude_idle = 0; /* don't count when idle */ diff -r a6005210f581 -r 6fcf6aa5c082 HW_Dependent_Primitives/VMS__HW_measurement.h --- a/HW_Dependent_Primitives/VMS__HW_measurement.h Wed Mar 06 14:32:23 2013 +0100 +++ b/HW_Dependent_Primitives/VMS__HW_measurement.h Wed Mar 27 18:06:37 2013 +0100 @@ -60,6 +60,6 @@ //#define NUM_TSC_ROUND_TRIPS 10 void setup_perf_counters(); -uint64_t rdtsc(void); +//uint64_t rdtsc(void); #endif /* */ diff -r a6005210f581 -r 6fcf6aa5c082 Services_Offered_by_VMS/Measurement_and_Stats/MEAS__macros.h --- a/Services_Offered_by_VMS/Measurement_and_Stats/MEAS__macros.h Wed Mar 06 14:32:23 2013 +0100 +++ b/Services_Offered_by_VMS/Measurement_and_Stats/MEAS__macros.h Wed Mar 27 18:06:37 2013 +0100 @@ -81,12 +81,12 @@ #define MEAS__Insert_Master_Meas_Fields_into_MasterEnv \ Histogram *masterLowTimeHist; \ - Histogram *masterHighTimeHist; + //Histogram *masterHighTimeHist; #define MEAS__Make_Meas_Hists_for_Master_Meas \ _VMSMasterEnv->masterLowTimeHist = makeFixedBinHistExt( 100, 0, 200,\ "master_low_time_hist");\ - _VMSMasterEnv->masterHighTimeHist = makeFixedBinHistExt( 100, 0, 200,\ + // _VMSMasterEnv->masterHighTimeHist = makeFixedBinHistExt( 100, 0, 200,\ "master_high_time_hist"); //Total Master time includes one coreloop time -- just assume the core @@ -97,14 +97,17 @@ #define MEAS__Capture_Post_Master_Point \ saveLowTimeStampCountInto( masterVP->endMasterTSCLow );\ - addIntervalToHist( startMasterTSCLow, endMasterTSCLow,\ + addIntervalToHist( masterVP->startMasterTSCLow, masterVP->endMasterTSCLow,\ _VMSMasterEnv->masterLowTimeHist ); \ - addIntervalToHist( startMasterTSCLow, endMasterTSCLow,\ + //addIntervalToHist( masterVP->startMasterTSCLow, masterVP->endMasterTSCLow,\ _VMSMasterEnv->masterHighTimeHist ); #define MEAS__Print_Hists_for_Master_Meas \ - printHist( _VMSMasterEnv->pluginTimeHist ); - + printHist( _VMSMasterEnv->masterLowTimeHist ); \ + saveHistToFile( _VMSMasterEnv->masterLowTimeHist ); \ + //printHist( _VMSMasterEnv->masterHighTimeHist ); \ + saveHistToFile( _VMSMasterEnv->masterHighTimeHist ); + #else #define MEAS__Insert_Master_Meas_Fields_into_Slave #define MEAS__Insert_Master_Meas_Fields_into_MasterEnv @@ -118,12 +121,12 @@ #ifdef MEAS__TURN_ON_MASTER_LOCK_MEAS #define MEAS__Insert_Master_Lock_Meas_Fields_into_MasterEnv \ Histogram *masterLockLowTimeHist; \ - Histogram *masterLockHighTimeHist; + //Histogram *masterLockHighTimeHist; #define MEAS__Make_Meas_Hists_for_Master_Lock_Meas \ _VMSMasterEnv->masterLockLowTimeHist = makeFixedBinHist( 50, 0, 2, \ "master lock low time hist");\ - _VMSMasterEnv->masterLockHighTimeHist = makeFixedBinHist( 50, 0, 100,\ + // _VMSMasterEnv->masterLockHighTimeHist = makeFixedBinHist( 50, 0, 100,\ "master lock high time hist"); #define MEAS__Capture_Pre_Master_Lock_Point \ @@ -134,12 +137,12 @@ saveLowTimeStampCountInto( endStamp ); \ addIntervalToHist( startStamp, endStamp,\ _VMSMasterEnv->masterLockLowTimeHist ); \ - addIntervalToHist( startStamp, endStamp,\ + //addIntervalToHist( startStamp, endStamp,\ _VMSMasterEnv->masterLockHighTimeHist ); #define MEAS__Print_Hists_for_Master_Lock_Meas \ printHist( _VMSMasterEnv->masterLockLowTimeHist ); \ - printHist( _VMSMasterEnv->masterLockHighTimeHist ); + //printHist( _VMSMasterEnv->masterLockHighTimeHist ); #else #define MEAS__Insert_Master_Lock_Meas_Fields_into_MasterEnv @@ -202,12 +205,12 @@ #ifdef MEAS__TURN_ON_PLUGIN_MEAS #define MEAS__Insert_Plugin_Meas_Fields_into_MasterEnv \ Histogram *reqHdlrLowTimeHist; \ - Histogram *reqHdlrHighTimeHist; + //Histogram *reqHdlrHighTimeHist; #define MEAS__Make_Meas_Hists_for_Plugin_Meas \ _VMSMasterEnv->reqHdlrLowTimeHist = makeFixedBinHistExt( 100, 0, 200,\ "plugin_low_time_hist");\ - _VMSMasterEnv->reqHdlrHighTimeHist = makeFixedBinHistExt( 100, 0, 200,\ + //_VMSMasterEnv->reqHdlrHighTimeHist = makeFixedBinHistExt( 100, 0, 200,\ "plugin_high_time_hist"); #define MEAS__startReqHdlr \ @@ -218,13 +221,13 @@ saveLowTimeStampCountInto( endStamp1 ); \ addIntervalToHist( startStamp1, endStamp1, \ _VMSMasterEnv->reqHdlrLowTimeHist ); \ - addIntervalToHist( startStamp1, endStamp1, \ + //addIntervalToHist( startStamp1, endStamp1, \ _VMSMasterEnv->reqHdlrHighTimeHist ); #define MEAS__Print_Hists_for_Plugin_Meas \ printHist( _VMSMasterEnv->reqHdlrLowTimeHist ); \ saveHistToFile( _VMSMasterEnv->reqHdlrLowTimeHist ); \ - printHist( _VMSMasterEnv->reqHdlrHighTimeHist ); \ + //printHist( _VMSMasterEnv->reqHdlrHighTimeHist ); \ saveHistToFile( _VMSMasterEnv->reqHdlrHighTimeHist ); \ freeHistExt( _VMSMasterEnv->reqHdlrLowTimeHist ); \ freeHistExt( _VMSMasterEnv->reqHdlrHighTimeHist ); @@ -408,7 +411,6 @@ uint64 cycles2,instrs2,cachem2; \ saveCyclesAndInstrs(thisCoresIdx,cycles2, instrs2,cachem2); \ (*counterHandler)(AppResponder_end,vpid,task,currSlot->slaveAssignedToSlot,cycles2,instrs2,cachem2); \ - (*counterHandler)(Timestamp_end,vpid,task,currSlot->slaveAssignedToSlot,rdtsc(),0,0); /* Don't know who to account time to yet - goes to assigned VP @@ -421,7 +423,6 @@ } \ uint64 tmp_cycles, tmp_instrs, tmp_cachem; \ saveCyclesAndInstrs(thisCoresIdx,tmp_cycles,tmp_instrs,tmp_cachem); \ - uint64 tsc = rdtsc(); \ if(vpid > 0) { \ (*counterHandler)(NextAssigner_start,vpid,task,currSlot->slaveAssignedToSlot,tmp_cycles,tmp_instrs,tmp_cachem); \ vpid = 0; \ @@ -434,9 +435,8 @@ if(empty){ \ (*counterHandler)(AssignerInvocation_start,assignedSlaveVP->slaveID,assignedSlaveVP->assignCount,assignedSlaveVP,masterEnv->start_master_lock[thisCoresIdx][0],masterEnv->start_master_lock[thisCoresIdx][1],masterEnv->start_master_lock[thisCoresIdx][2]); \ } \ - (*counterHandler)(Timestamp_start,assignedSlaveVP->slaveID,assignedSlaveVP->assignCount,assignedSlaveVP,tsc,0,0); \ (*counterHandler)(Assigner_start,assignedSlaveVP->slaveID,assignedSlaveVP->assignCount,assignedSlaveVP,tmp_cycles,tmp_instrs,tmp_cachem); \ - (*counterHandler)(Assigner_end,assignedSlaveVP->slaveID,assignedSlaveVP->assignCount,assignedSlaveVP,cycles,instrs,tmp_cachem); + (*counterHandler)(Assigner_end,assignedSlaveVP->slaveID,assignedSlaveVP->assignCount,assignedSlaveVP,cycles,instrs,cachem); #define HOLISTIC__Record_Work_start \ if(currVP){ \ diff -r a6005210f581 -r 6fcf6aa5c082 Services_Offered_by_VMS/Memory_Handling/vmalloc.c --- a/Services_Offered_by_VMS/Memory_Handling/vmalloc.c Wed Mar 06 14:32:23 2013 +0100 +++ b/Services_Offered_by_VMS/Memory_Handling/vmalloc.c Wed Mar 27 18:06:37 2013 +0100 @@ -311,7 +311,9 @@ void * VMS_WL__malloc( size_t sizeRequested ) { void *ret; - + #ifdef USE_SYS_MALLOC + return malloc(sizeRequested); +#endif VMS_int__get_master_lock(); ret = VMS_int__malloc( sizeRequested ); VMS_int__release_master_lock(); @@ -383,6 +385,10 @@ void VMS_WL__free( void *ptrToFree ) { +#ifdef USE_SYS_MALLOC + free(ptrToFree); + return; +#endif VMS_int__get_master_lock(); VMS_int__free( ptrToFree ); VMS_int__release_master_lock(); @@ -415,7 +421,9 @@ void* VMS_WL__realloc(void *oldPtr, size_t sizeRequested) { - +#ifdef USE_SYS_MALLOC + return realloc(oldPtr,sizeRequested); +#endif VMS_int__get_master_lock(); void* newPtr = VMS_int__realloc(oldPtr, sizeRequested); VMS_int__release_master_lock();