Make it possible for applications to have the kernel free memory lazily. This reduces a repeated free/malloc cycle from freeing pages and allocating them, to just marking them freeable. If the application wants to reuse them before the kernel needs the memory, not even a page fault will happen. This patch, together with Ulrich's glibc change, increases MySQL sysbench performance by a factor of 2 on my quad core test system. Signed-off-by: Rik van Riel --- Ulrich Drepper has test glibc RPMS for this functionality at: http://people.redhat.com/drepper/rpms Andrew, I have stress tested this patch for a few days now and have not been able to find any more bugs. I believe it is ready to be merged in -mm, and upstream at the next merge window. When the patch goes upstream, I will submit a small follow-up patch to revert MADV_DONTNEED behaviour to what it did previously and have the new behaviour trigger only on MADV_FREE: at that point people will have to get new test RPMs of glibc.