Re: [PATCH] make MADV_FREE lazily free memory

Anton Blanchard
2007-04-16T18:39:45Z

Hi Jakub,

> That would mean an additional syscall. Furthermore, if you allocate a big
> chunk of memory, dirty it, then free (with madvise (MADV_FREE)) it and soon
> allocate the same size of memory again, it is better to start that with
> non-dirty memory, it might be that this time you e.g. don't modify a big
> part of the chunk. If all that memory was kept dirty all the time and
> just marked/unmarked for lazy reuse with MADV_FREE/MADV_UNDO_FREE, all that
> memory would need to be saved to disk when paging out as it was marked
> dirty, while with current Rik's MADV_FREE that will happen only for pages
> that were actually dirtied after the last malloc.

Yep this all makes sense. I was looking at it from the other angle where
on some workloads we have to force malloc to use brk for best
performance. Im sure the MADV_FREE changes will close that gap but it
would be interesting to see if there is still a gap on the problem
workloads. Maybe Im worrying about nothing.

Anton