diff options
author | Andy Whitcroft <apw@shadowen.org> | 2004-10-20 20:58:17 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2004-10-20 20:58:17 -0700 |
commit | fcb4b9eac137402050e02fcb4ea32bfd4ed2c264 (patch) | |
tree | b7b8129f0526a7f9fcd8e94be85c5b7e00967ea9 /mm | |
parent | 7ff822e1b494b3eeca7715e1e43db40fff412313 (diff) | |
download | history-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.c | 5 |
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(); |