From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756730Ab0LMG6Q (ORCPT ); Mon, 13 Dec 2010 01:58:16 -0500 Received: from mga03.intel.com ([143.182.124.21]:35379 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753236Ab0LMGtl (ORCPT ); Mon, 13 Dec 2010 01:49:41 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.59,335,1288594800"; d="scan'208";a="360754652" Message-Id: <20101213064839.291896969@intel.com> User-Agent: quilt/0.48-1 Date: Mon, 13 Dec 2010 14:43:08 +0800 From: Wu Fengguang To: Andrew Morton CC: Jan Kara , Wu Fengguang CC: Christoph Hellwig CC: Trond Myklebust CC: Dave Chinner CC: "Theodore Ts'o" CC: Chris Mason CC: Peter Zijlstra CC: Mel Gorman CC: Rik van Riel CC: KOSAKI Motohiro CC: Greg Thelen CC: Minchan Kim Cc: linux-mm Cc: Cc: LKML Subject: [PATCH 19/47] writeback: fix increasement of nr_dirtied_pause References: <20101213064249.648862451@intel.com> Content-Disposition: inline; filename=writeback-fix-increase-nr_dirtied_pause.patch Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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,