[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <46247427.6000902@redhat.com>
Date:	Tue, 17 Apr 2007 03:15:51 -0400
From:	Rik van Riel <riel@...hat.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
CC:	linux-kernel <linux-kernel@...r.kernel.org>,
	linux-mm <linux-mm@...ck.org>
Subject: [PATCH] lazy freeing of memory through MADV_FREE
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 <riel@...hat.com>
---
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.
View attachment "linux-2.6.21-rc6-mm1-madv_free.patch" of type "text/x-patch" (11515 bytes)
Powered by blists - more mailing lists
 
