Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
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
