> + 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; Sorry here is a bug fix for the above line, it's also pushed to the git tree. Thanks, Fengguang --- Subject: writeback: fix increasement of nr_dirtied_pause Date: Wed Nov 17 22:31:26 CST 2010 Fix a bug that current->nr_dirtied_pause += current->nr_dirtied_pause >> 5; does not effectively increase nr_dirtied_pause when it's <= 32. Thus nr_dirtied_pause may never grow up.. Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> --- mm/page-writeback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-next.orig/mm/page-writeback.c 2010-11-17 22:31:09.000000000 +0800 +++ linux-next/mm/page-writeback.c 2010-11-17 22:31:23.000000000 +0800 @@ -662,7 +662,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, -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html