changeset 81:a214c84dff4e

malloc_touch
author Merten Sach <msach@mailbox.tu-berlin.de>
date Mon, 11 Jul 2011 20:35:54 +0200
parents 2bdcba4acca0
children 21c95d402fe6
files vmalloc.c
diffstat 1 files changed, 7 insertions(+), 7 deletions(-) [+]
line diff
     1.1 --- a/vmalloc.c	Mon Jul 11 20:29:26 2011 +0200
     1.2 +++ b/vmalloc.c	Mon Jul 11 20:35:54 2011 +0200
     1.3 @@ -451,13 +451,13 @@
     1.4     firstChunk   = malloc( MALLOC_ADDITIONAL_MEM_FROM_OS_SIZE );
     1.5     if( firstChunk == NULL ) {printf("malloc error\n"); exit(1);}
     1.6     
     1.7 -   //Touch memory to avoid page faults
     1.8 -   //void *ptr,*endPtr; 
     1.9 -   //endPtr = (void*)firstChunk+MALLOC_ADDITIONAL_MEM_FROM_OS_SIZE;
    1.10 -   //for(ptr = firstChunk; ptr < endPtr; ptr+=PAGE_SIZE)
    1.11 -   //{
    1.12 -   //    *(char*)ptr = 0;
    1.13 -   //}
    1.14 +   Touch memory to avoid page faults
    1.15 +   void *ptr,*endPtr; 
    1.16 +   endPtr = (void*)firstChunk+MALLOC_ADDITIONAL_MEM_FROM_OS_SIZE;
    1.17 +   for(ptr = firstChunk; ptr < endPtr; ptr+=PAGE_SIZE)
    1.18 +   {
    1.19 +       *(char*)ptr = 0;
    1.20 +   }
    1.21  
    1.22     freeListHead->prevChunkInFreeList = NULL;
    1.23        //Use this addr to free the heap when cleanup