Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967138Ab0GSWsw (ORCPT ); Mon, 19 Jul 2010 18:48:52 -0400 Received: from f0.cmpxchg.org ([85.214.51.133]:45474 "EHLO cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966583Ab0GSWsu (ORCPT ); Mon, 19 Jul 2010 18:48:50 -0400 Date: Tue, 20 Jul 2010 00:48:39 +0200 From: Johannes Weiner To: Mel Gorman Cc: Christoph Hellwig , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Dave Chinner , Chris Mason , Nick Piggin , Rik van Riel , Wu Fengguang , KAMEZAWA Hiroyuki , KOSAKI Motohiro , Andrew Morton , Andrea Arcangeli Subject: Re: [PATCH 8/8] vmscan: Kick flusher threads to clean pages when reclaim is encountering dirty pages Message-ID: <20100719224838.GC16031@cmpxchg.org> References: <1279545090-19169-1-git-send-email-mel@csn.ul.ie> <1279545090-19169-9-git-send-email-mel@csn.ul.ie> <20100719142349.GE12510@infradead.org> <20100719143737.GQ13117@csn.ul.ie> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100719143737.GQ13117@csn.ul.ie> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1815 Lines: 39 On Mon, Jul 19, 2010 at 03:37:37PM +0100, Mel Gorman wrote: > On Mon, Jul 19, 2010 at 10:23:49AM -0400, Christoph Hellwig wrote: > > On Mon, Jul 19, 2010 at 02:11:30PM +0100, Mel Gorman wrote: > > > + /* > > > + * If reclaim is encountering dirty pages, it may be because > > > + * dirty pages are reaching the end of the LRU even though > > > + * the dirty_ratio may be satisified. In this case, wake > > > + * flusher threads to pro-actively clean some pages > > > + */ > > > + wakeup_flusher_threads(laptop_mode ? 0 : nr_dirty + nr_dirty / 2); > > > + > > > > Where is the laptop-mode magic coming from? > > > > It comes from other parts of page reclaim where writing pages is avoided > by page reclaim where possible. Things like this > > wakeup_flusher_threads(laptop_mode ? 0 : total_scanned); Actually, it's not avoiding writing pages in laptop mode, instead it is lumping writeouts aggressively (as I wrote in my other mail, .nr_pages=0 means 'write everything') to keep disk spinups rare and make maximum use of them. > although the latter can get disabled too. Deleting the magic is an > option which would trade IO efficiency for power efficiency but my > current thinking is laptop mode preferred reduced power. Maybe couple your wakeup with sc->may_writepage? It is usually false for laptop_mode but direct reclaimers enable it at one point in do_try_to_free_pages() when it scanned more than 150% of the reclaim target, so you could use existing disk spin-up points instead of introducing new ones or disabling the heuristics in laptop mode. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/