On Fri, Oct 11, 2013 at 10:42:19AM +0200, Toralf Förster wrote: > yeah, now the picture becomes more clear > ... > net.core.warnings = 0 [ ok ] > ick: pause : -717 > ick : min_pause : -177 > ick : max_pause : -717 > ick: pages_dirtied : 14 > ick: task_ratelimit: 0 Great and thanks! So it's the max pause calculation went wrong. Would help you try the below patch? >From 5420b9bbe42dd0a366d7615e9f3d3724cee725c4 Mon Sep 17 00:00:00 2001 From: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri, 11 Oct 2013 16:53:26 +0800 Subject: [PATCH] fix bdi max pause calculation Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> --- mm/page-writeback.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 3f0c895..241a746 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -1104,11 +1104,11 @@ static unsigned long dirty_poll_interval(unsigned long dirty, return 1; } -static long bdi_max_pause(struct backing_dev_info *bdi, - unsigned long bdi_dirty) +static unsigned long bdi_max_pause(struct backing_dev_info *bdi, + unsigned long bdi_dirty) { - long bw = bdi->avg_write_bandwidth; - long t; + unsigned long bw = bdi->avg_write_bandwidth; + unsigned long t; /* * Limit pause time for small memory systems. If sleeping for too long @@ -1120,7 +1120,7 @@ static long bdi_max_pause(struct backing_dev_info *bdi, t = bdi_dirty / (1 + bw / roundup_pow_of_two(1 + HZ / 8)); t++; - return min_t(long, t, MAX_PAUSE); + return min_t(unsigned long, t, MAX_PAUSE); } static long bdi_min_pause(struct backing_dev_info *bdi, -- 1.7.10.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>