From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757068Ab0IUWKX (ORCPT ); Tue, 21 Sep 2010 18:10:23 -0400 Received: from gir.skynet.ie ([193.1.99.77]:59228 "EHLO gir.skynet.ie" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752522Ab0IUWKW (ORCPT ); Tue, 21 Sep 2010 18:10:22 -0400 Date: Tue, 21 Sep 2010 23:10:08 +0100 From: Mel Gorman To: Andrew Morton Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Linux Kernel List , Johannes Weiner , Minchan Kim , Wu Fengguang , KAMEZAWA Hiroyuki , KOSAKI Motohiro Subject: Re: [PATCH 8/8] writeback: Do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encountered in the current zone Message-ID: <20100921221008.GA16323@csn.ul.ie> References: <1284553671-31574-1-git-send-email-mel@csn.ul.ie> <1284553671-31574-9-git-send-email-mel@csn.ul.ie> <20100916152810.cb074e9f.akpm@linux-foundation.org> <20100920095239.GE1998@csn.ul.ie> <20100921144413.abc45d2f.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20100921144413.abc45d2f.akpm@linux-foundation.org> User-Agent: Mutt/1.5.17+20080114 (2008-01-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 21, 2010 at 02:44:13PM -0700, Andrew Morton wrote: > On Mon, 20 Sep 2010 10:52:39 +0100 > Mel Gorman wrote: > > > > > This patch tracks how many pages backed by a congested BDI were found during > > > > scanning. If all the dirty pages encountered on a list isolated from the > > > > LRU belong to a congested BDI, the zone is marked congested until the zone > > > > reaches the high watermark. > > > > > > High watermark, or low watermark? > > > > > > > High watermark. The check is made by kswapd. > > > > > The terms are rather ambiguous so let's avoid them. Maybe "full" > > > watermark and "empty"? > > > > > > > Unfortunately they are ambiguous to me. I know what the high watermark > > is but not what the full or empty watermarks are. > > Really. So what's the "high" watermark? The high watermark is the point where kswapd goes back to sleep because enough pages have been reclaimed. It's a proxy measure for memory pressure. > From the above text I'm > thinking that you mean the high watermark is when the queue has a small > number of requests and the low watermark is when the queue has a large > number of requests. > I was expecting "zone reaches the high watermark" was the clue that I was talking about zone watermarks and not an IO queue but it could be better. > I'd have thought that this is backwards: the "high" watermark is when > the queue has a large (ie: high) number of requests. > > A problem. How do we fix it? > I will try and clarify. How about this as a replacement paragraph? ==== CUT HERE ==== This patch tracks how many pages backed by a congested BDI were found during scanning. If all the dirty pages isolated from the LRU are backed by a congested BDI, the zone is marked congested. A zone is marked uncongested with enough pages have been freed for the zone's high watermark to be reached indicating that the zone is no longer under any memory pressure. wait_iff_congested() checks if there are any congested BDIs and if so if the current zone is marked congested. If both conditions are met, the caller sleeps on the congestion queue. Otherwise it will call cond_reched() to yield the processor if necessary. -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mel Gorman Subject: Re: [PATCH 8/8] writeback: Do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encountered in the current zone Date: Tue, 21 Sep 2010 23:10:08 +0100 Message-ID: <20100921221008.GA16323@csn.ul.ie> References: <1284553671-31574-1-git-send-email-mel@csn.ul.ie> <1284553671-31574-9-git-send-email-mel@csn.ul.ie> <20100916152810.cb074e9f.akpm@linux-foundation.org> <20100920095239.GE1998@csn.ul.ie> <20100921144413.abc45d2f.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Linux Kernel List , Johannes Weiner , Minchan Kim , Wu Fengguang , KAMEZAWA Hiroyuki , KOSAKI Motohiro To: Andrew Morton Return-path: Content-Disposition: inline In-Reply-To: <20100921144413.abc45d2f.akpm@linux-foundation.org> Sender: owner-linux-mm@kvack.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Sep 21, 2010 at 02:44:13PM -0700, Andrew Morton wrote: > On Mon, 20 Sep 2010 10:52:39 +0100 > Mel Gorman wrote: > > > > > This patch tracks how many pages backed by a congested BDI were found during > > > > scanning. If all the dirty pages encountered on a list isolated from the > > > > LRU belong to a congested BDI, the zone is marked congested until the zone > > > > reaches the high watermark. > > > > > > High watermark, or low watermark? > > > > > > > High watermark. The check is made by kswapd. > > > > > The terms are rather ambiguous so let's avoid them. Maybe "full" > > > watermark and "empty"? > > > > > > > Unfortunately they are ambiguous to me. I know what the high watermark > > is but not what the full or empty watermarks are. > > Really. So what's the "high" watermark? The high watermark is the point where kswapd goes back to sleep because enough pages have been reclaimed. It's a proxy measure for memory pressure. > From the above text I'm > thinking that you mean the high watermark is when the queue has a small > number of requests and the low watermark is when the queue has a large > number of requests. > I was expecting "zone reaches the high watermark" was the clue that I was talking about zone watermarks and not an IO queue but it could be better. > I'd have thought that this is backwards: the "high" watermark is when > the queue has a large (ie: high) number of requests. > > A problem. How do we fix it? > I will try and clarify. How about this as a replacement paragraph? ==== CUT HERE ==== This patch tracks how many pages backed by a congested BDI were found during scanning. If all the dirty pages isolated from the LRU are backed by a congested BDI, the zone is marked congested. A zone is marked uncongested with enough pages have been freed for the zone's high watermark to be reached indicating that the zone is no longer under any memory pressure. wait_iff_congested() checks if there are any congested BDIs and if so if the current zone is marked congested. If both conditions are met, the caller sleeps on the congestion queue. Otherwise it will call cond_reched() to yield the processor if necessary. -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org