[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201301210315.r0L3FnGV021298@como.maths.usyd.edu.au>
Date: Mon, 21 Jan 2013 14:15:49 +1100
From: paul.szabo@...ney.edu.au
To: linux-mm@...ck.org
Cc: 695182@...s.debian.org, linux-kernel@...r.kernel.org
Subject: [PATCH] Subtract min_free_kbytes from dirtyable memory
When calculating amount of dirtyable memory, min_free_kbytes should be
subtracted because it is not intended for dirty pages.
Using an "extern int" because that is the only interface to some such
sysctl values.
(This patch does not solve the PAE OOM issue.)
Paul Szabo psz@...hs.usyd.edu.au http://www.maths.usyd.edu.au/u/psz/
School of Mathematics and Statistics University of Sydney Australia
Reported-by: Paul Szabo <psz@...hs.usyd.edu.au>
Reference: http://bugs.debian.org/695182
Signed-off-by: Paul Szabo <psz@...hs.usyd.edu.au>
--- mm/page-writeback.c.old 2012-12-06 22:20:40.000000000 +1100
+++ mm/page-writeback.c 2013-01-21 13:57:05.000000000 +1100
@@ -343,12 +343,16 @@
unsigned long determine_dirtyable_memory(void)
{
unsigned long x;
+ extern int min_free_kbytes;
x = global_page_state(NR_FREE_PAGES) + global_reclaimable_pages();
if (!vm_highmem_is_dirtyable)
x -= highmem_dirtyable_memory(x);
+ /* Subtract min_free_kbytes */
+ x -= min(x, min_free_kbytes >> (PAGE_SHIFT - 10));
+
return x + 1; /* Ensure that we never return 0 */
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists