changeset 79:97e26095c01f V0

Version 0
author Merten Sach <msach@mailbox.tu-berlin.de>
date Mon, 11 Jul 2011 18:09:43 +0200
parents 521c75d64cef
children 2bdcba4acca0 bc31d3e070d2 73ceeac12a79
files VMS.c VMS.h vmalloc.c
diffstat 3 files changed, 19 insertions(+), 6 deletions(-) [+]
line diff
     1.1 --- a/VMS.c	Mon Jul 04 19:45:43 2011 +0200
     1.2 +++ b/VMS.c	Mon Jul 11 18:09:43 2011 +0200
     1.3 @@ -110,16 +110,16 @@
     1.4  
     1.5     //============================= MEASUREMENT STUFF ========================
     1.6     #ifdef MEAS__TIME_MALLOC
     1.7 -   _VMSMasterEnv->mallocTimeHist  = makeFixedBinHistExt( 100, 0, 100,
     1.8 -                                                       "malloc time hist");
     1.9 +   _VMSMasterEnv->mallocTimeHist  = makeFixedBinHistExt( 50, 0, 100,
    1.10 +                                                       "malloc_time_hist");
    1.11     _VMSMasterEnv->freeTimeHist  = makeFixedBinHistExt( 50, 0, 100,
    1.12 -                                                       "free time hist");
    1.13 +                                                       "free_time_hist");
    1.14     #endif
    1.15     #ifdef MEAS__TIME_PLUGIN
    1.16     _VMSMasterEnv->reqHdlrLowTimeHist  = makeFixedBinHistExt( 50, 0, 10,
    1.17 -                                                     "plugin low time hist");
    1.18 +                                                     "plugin_low_time_hist");
    1.19     _VMSMasterEnv->reqHdlrHighTimeHist  = makeFixedBinHistExt( 50, 0, 100,
    1.20 -                                                    "plugin high time hist");
    1.21 +                                                    "plugin_high_time_hist");
    1.22     #endif
    1.23     //========================================================================
    1.24  
    1.25 @@ -683,13 +683,17 @@
    1.26     //forAllInDynArrayDo( _VMSMasterEnv->measHistsInfo, &freeHistExt );
    1.27     #ifdef MEAS__TIME_PLUGIN
    1.28     printHist( _VMSMasterEnv->reqHdlrLowTimeHist );
    1.29 +   saveHistToFile( _VMSMasterEnv->reqHdlrHighTimeHist );
    1.30     printHist( _VMSMasterEnv->reqHdlrHighTimeHist );
    1.31 +   saveHistToFile( _VMSMasterEnv->reqHdlrHighTimeHist );
    1.32     freeHistExt( _VMSMasterEnv->reqHdlrLowTimeHist );
    1.33     freeHistExt( _VMSMasterEnv->reqHdlrHighTimeHist );
    1.34     #endif
    1.35     #ifdef MEAS__TIME_MALLOC
    1.36     printHist( _VMSMasterEnv->mallocTimeHist   );
    1.37 +   saveHistToFile( _VMSMasterEnv->mallocTimeHist   );
    1.38     printHist( _VMSMasterEnv->freeTimeHist     );
    1.39 +   saveHistToFile( _VMSMasterEnv->freeTimeHist     );
    1.40     freeHistExt( _VMSMasterEnv->mallocTimeHist );
    1.41     freeHistExt( _VMSMasterEnv->freeTimeHist   );
    1.42     #endif
     2.1 --- a/VMS.h	Mon Jul 04 19:45:43 2011 +0200
     2.2 +++ b/VMS.h	Mon Jul 11 18:09:43 2011 +0200
     2.3 @@ -93,6 +93,7 @@
     2.4  #define MALLOC_ADDITIONAL_MEM_FROM_OS_SIZE 0x10000000 /* 256M */
     2.5  
     2.6  #define CACHE_LINE 64
     2.7 +#define PAGE_SIZE 4096
     2.8  
     2.9  
    2.10  //==============================
    2.11 @@ -419,7 +420,7 @@
    2.12  #define MakeTheMeasHists() \
    2.13     _VMSMasterEnv->measHistsInfo = \
    2.14                makePrivDynArrayOfSize( (void***)&(_VMSMasterEnv->measHists), 200); \
    2.15 -   makeAMeasHist( createHistIdx,      "create",        50, 0, 1000 ) \
    2.16 +   makeAMeasHist( createHistIdx,      "create",        50, 0, 100 ) \
    2.17     makeAMeasHist( mutexLockHistIdx,   "mutex_lock",    50, 0, 100 ) \
    2.18     makeAMeasHist( mutexUnlockHistIdx, "mutex_unlock",  50, 0, 100 ) \
    2.19     makeAMeasHist( condWaitHistIdx,    "cond_wait",     50, 0, 100 ) \
     3.1 --- a/vmalloc.c	Mon Jul 04 19:45:43 2011 +0200
     3.2 +++ b/vmalloc.c	Mon Jul 11 18:09:43 2011 +0200
     3.3 @@ -450,6 +450,14 @@
     3.4     freeListHead = malloc( sizeof(MallocProlog) );
     3.5     firstChunk   = malloc( MALLOC_ADDITIONAL_MEM_FROM_OS_SIZE );
     3.6     if( firstChunk == NULL ) {printf("malloc error\n"); exit(1);}
     3.7 +   
     3.8 +   //Touch memory to avoid page faults
     3.9 +   //void *ptr,*endPtr; 
    3.10 +   //endPtr = (void*)firstChunk+MALLOC_ADDITIONAL_MEM_FROM_OS_SIZE;
    3.11 +   //for(ptr = firstChunk; ptr < endPtr; ptr+=PAGE_SIZE)
    3.12 +   //{
    3.13 +   //    *(char*)ptr = 0;
    3.14 +   //}
    3.15  
    3.16     freeListHead->prevChunkInFreeList = NULL;
    3.17        //Use this addr to free the heap when cleanup