aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2009-02-17 14:51:02 -0800
committerColin Cross <ccross@android.com>2011-06-14 09:08:39 -0700
commit83de731ffcc6777a33e8a6132c7da8d91faac9ca (patch)
treeb206ab0d3b2ff4bf814d63772aeaab9f4559080f /mm/page_alloc.c
parent180b7a0ba65bb1c60076b9f5efee22cf6b1361bf (diff)
downloadkernel_samsung_aries-83de731ffcc6777a33e8a6132c7da8d91faac9ca.zip
kernel_samsung_aries-83de731ffcc6777a33e8a6132c7da8d91faac9ca.tar.gz
kernel_samsung_aries-83de731ffcc6777a33e8a6132c7da8d91faac9ca.tar.bz2
mm: Add min_free_order_shift tunable.
By default the kernel tries to keep half as much memory free at each order as it does for one order below. This can be too agressive when running without swap. Change-Id: I5efc1a0b50f41ff3ac71e92d2efd175dedd54ead Signed-off-by: Arve Hjønnevåg <arve@android.com>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4e8985a..fef8dc3 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -176,6 +176,7 @@ static char * const zone_names[MAX_NR_ZONES] = {
};
int min_free_kbytes = 1024;
+int min_free_order_shift = 1;
static unsigned long __meminitdata nr_kernel_pages;
static unsigned long __meminitdata nr_all_pages;
@@ -1487,7 +1488,7 @@ static bool __zone_watermark_ok(struct zone *z, int order, unsigned long mark,
free_pages -= z->free_area[o].nr_free << o;
/* Require fewer higher order pages to be free */
- min >>= 1;
+ min >>= min_free_order_shift;
if (free_pages <= min)
return false;