aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@shadowen.org>2004-10-20 20:58:17 -0700
committerLinus Torvalds <torvalds@evo.osdl.org>2004-10-20 20:58:17 -0700
commitfcb4b9eac137402050e02fcb4ea32bfd4ed2c264 (patch)
treeb7b8129f0526a7f9fcd8e94be85c5b7e00967ea9 /mm
parent7ff822e1b494b3eeca7715e1e43db40fff412313 (diff)
downloadhistory-fcb4b9eac137402050e02fcb4ea32bfd4ed2c264.tar.gz
[PATCH] vm_dirty_ratio initialisation fix
When a system has a very large imbalance of overall memory size to ZONE_NORMAL (for example when large amounts of numa remap space are in use) page_writeback_init() may incorrectly set vm_dirty_ratio and dirty_background_ratio to zero; leading to divide by zero errors elsewhere. This patch bounds these at 1%. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/page-writeback.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index a3f185e9fc2f18..31f5931cdc2dad 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -504,6 +504,11 @@ void __init page_writeback_init(void)
dirty_background_ratio /= 100;
vm_dirty_ratio *= correction;
vm_dirty_ratio /= 100;
+
+ if (dirty_background_ratio <= 0)
+ dirty_background_ratio = 1;
+ if (vm_dirty_ratio <= 0)
+ vm_dirty_ratio = 1;
}
mod_timer(&wb_timer, jiffies + (dirty_writeback_centisecs * HZ) / 100);
set_ratelimit();