From 1f484e15c1bf166a73385530175c9f8418391868 Mon Sep 17 00:00:00 2001 From: Paul Szabo Date: Fri, 22 Feb 2013 16:34:42 -0800 Subject: [PATCH] --- yaml --- r: 356569 b: refs/heads/master c: 75f7ad8e043d9383337d917584297f7737154bbf h: refs/heads/master i: 356567: 8fc864fdc438c3f2327de979cdad6e549fe66d22 v: v3 --- [refs] | 2 +- trunk/include/linux/mm.h | 3 +++ trunk/kernel/sysctl.c | 1 - trunk/mm/huge_memory.c | 1 - trunk/mm/page-writeback.c | 3 +++ 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 134e906bf1b3..935f6998641d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 08b52706d505658eac0962d215ff697f898bbc13 +refs/heads/master: 75f7ad8e043d9383337d917584297f7737154bbf diff --git a/trunk/include/linux/mm.h b/trunk/include/linux/mm.h index 1d4122bf6f27..437da0ce78c7 100644 --- a/trunk/include/linux/mm.h +++ b/trunk/include/linux/mm.h @@ -1393,6 +1393,9 @@ extern void setup_per_cpu_pageset(void); extern void zone_pcp_update(struct zone *zone); extern void zone_pcp_reset(struct zone *zone); +/* page_alloc.c */ +extern int min_free_kbytes; + /* nommu.c */ extern atomic_long_t mmap_pages_allocated; extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t); diff --git a/trunk/kernel/sysctl.c b/trunk/kernel/sysctl.c index 467d8b923fcd..95e9e55602a8 100644 --- a/trunk/kernel/sysctl.c +++ b/trunk/kernel/sysctl.c @@ -105,7 +105,6 @@ extern char core_pattern[]; extern unsigned int core_pipe_limit; #endif extern int pid_max; -extern int min_free_kbytes; extern int pid_max_min, pid_max_max; extern int sysctl_drop_caches; extern int percpu_pagelist_fraction; diff --git a/trunk/mm/huge_memory.c b/trunk/mm/huge_memory.c index b1cc6591ed83..c63a21d0e991 100644 --- a/trunk/mm/huge_memory.c +++ b/trunk/mm/huge_memory.c @@ -105,7 +105,6 @@ static int set_recommended_min_free_kbytes(void) struct zone *zone; int nr_zones = 0; unsigned long recommended_min; - extern int min_free_kbytes; if (!khugepaged_enabled()) return 0; diff --git a/trunk/mm/page-writeback.c b/trunk/mm/page-writeback.c index 7300c9d5e1d9..cdc377c456c0 100644 --- a/trunk/mm/page-writeback.c +++ b/trunk/mm/page-writeback.c @@ -241,6 +241,9 @@ static unsigned long global_dirtyable_memory(void) if (!vm_highmem_is_dirtyable) x -= highmem_dirtyable_memory(x); + /* Subtract min_free_kbytes */ + x -= min_t(unsigned long, x, min_free_kbytes >> (PAGE_SHIFT - 10)); + return x + 1; /* Ensure that we never return 0 */ }