[PATCH 19/47] writeback: fix increasement of nr_dirtied_pause

Wu Fengguang
2010-12-13T06:58:16Z

[-- Attachment #1: writeback-fix-increase-nr_dirtied_pause.patch --]
[-- Type: text/plain, Size: 858 bytes --]

Fix a bug that

current->nr_dirtied_pause += current->nr_dirtied_pause >> 5;

does not effectively increase nr_dirtied_pause when it's less than 32.
Thus nr_dirtied_pause may never grow up.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
mm/page-writeback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next.orig/mm/page-writeback.c 2010-12-08 22:44:27.000000000 +0800
+++ linux-next/mm/page-writeback.c 2010-12-08 22:44:28.000000000 +0800
@@ -700,7 +700,7 @@ pause:
if (pause == 0 && nr_dirty < background_thresh)
current->nr_dirtied_pause = ratelimit_pages(bdi);
else if (pause == 1)
- current->nr_dirtied_pause += current->nr_dirtied_pause >> 5;
+ current->nr_dirtied_pause += current->nr_dirtied_pause / 32 + 1;
else if (pause >= HZ/10)
/*
* when repeated, writing 1 page per 100ms on slow devices,