From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 566956B005A for ; Mon, 26 Oct 2009 03:10:39 -0400 (EDT) Received: from wpaz37.hot.corp.google.com (wpaz37.hot.corp.google.com [172.24.198.101]) by smtp-out.google.com with ESMTP id n9Q7AVZM016240 for ; Mon, 26 Oct 2009 07:10:32 GMT Received: from pwi18 (pwi18.prod.google.com [10.241.219.18]) by wpaz37.hot.corp.google.com with ESMTP id n9Q7ASq4023006 for ; Mon, 26 Oct 2009 00:10:29 -0700 Received: by pwi18 with SMTP id 18so3177421pwi.12 for ; Mon, 26 Oct 2009 00:10:28 -0700 (PDT) Date: Mon, 26 Oct 2009 00:10:25 -0700 (PDT) From: David Rientjes Subject: Re: [PATCH 1/5] page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed In-Reply-To: <20091026100019.2F4A.A69D9226@jp.fujitsu.com> Message-ID: References: <1256221356-26049-1-git-send-email-mel@csn.ul.ie> <1256221356-26049-2-git-send-email-mel@csn.ul.ie> <20091026100019.2F4A.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: KOSAKI Motohiro Cc: Mel Gorman , Frans Pop , Jiri Kosina , Sven Geggus , Karol Lewandowski , Tobias Oetiker , "Rafael J. Wysocki" , David Miller , Reinette Chatre , Kalle Valo , Mohamed Abbas , Jens Axboe , "John W. Linville" , Pekka Enberg , Bartlomiej Zolnierkiewicz , Greg Kroah-Hartman , Stephan von Krawczynski , Kernel Testers List , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, "linux-mm@kvack.org\"" List-ID: On Mon, 26 Oct 2009, KOSAKI Motohiro wrote: > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index bf72055..5a27896 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1899,6 +1899,12 @@ rebalance: > if (should_alloc_retry(gfp_mask, order, pages_reclaimed)) { > /* Wait for some write requests to complete then retry */ > congestion_wait(BLK_RW_ASYNC, HZ/50); > + > + /* > + * While we wait congestion wait, Amount of free memory can > + * be changed dramatically. Thus, we kick kswapd again. > + */ > + wake_all_kswapd(order, zonelist, high_zoneidx); > goto rebalance; > } > We're blocking to finish writeback of the directly reclaimed memory, why do we need to wake kswapd afterwards? -- 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