Re: [PATCH] make MADV_FREE lazily free memory

From: Anton Blanchard
Date: Mon Apr 16 2007 - 14:42:18 EST



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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/