From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752132AbcFNOrb (ORCPT ); Tue, 14 Jun 2016 10:47:31 -0400 Received: from outbound-smtp03.blacknight.com ([81.17.249.16]:60518 "EHLO outbound-smtp03.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751212AbcFNOr3 (ORCPT ); Tue, 14 Jun 2016 10:47:29 -0400 Date: Tue, 14 Jun 2016 15:47:16 +0100 From: Mel Gorman To: Hillf Danton Cc: linux-kernel , linux-mm@kvack.org Subject: Re: [PATCH 04/27] mm, vmscan: Begin reclaiming pages on a per-node basis Message-ID: <20160614144716.GC1868@techsingularity.net> References: <02ed01d1c47a$49fbfbc0$ddf3f340$@alibaba-inc.com> <02f101d1c47c$b4bae0f0$1e30a2d0$@alibaba-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <02f101d1c47c$b4bae0f0$1e30a2d0$@alibaba-inc.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jun 12, 2016 at 03:33:25PM +0800, Hillf Danton wrote: > > @@ -3207,15 +3228,14 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int classzone_idx) > > sc.may_writepage = 1; > > > > /* > > - * Now scan the zone in the dma->highmem direction, stopping > > - * at the last zone which needs scanning. > > - * > > - * We do this because the page allocator works in the opposite > > - * direction. This prevents the page allocator from allocating > > - * pages behind kswapd's direction of progress, which would > > - * cause too much scanning of the lower zones. > > + * Continue scanning in the highmem->dma direction stopping at > > + * the last zone which needs scanning. This may reclaim lowmem > > + * pages that are not necessary for zone balancing but it > > + * preserves LRU ordering. It is assumed that the bulk of > > + * allocation requests can use arbitrary zones with the > > + * possible exception of big highmem:lowmem configurations. > > */ > > - for (i = 0; i <= end_zone; i++) { > > + for (i = end_zone; i >= end_zone; i--) { > > s/i >= end_zone;/i >= 0;/ ? > Yes although it's eliminated by "mm, vmscan: Make kswapd reclaim in terms of nodes" -- Mel Gorman SUSE Labs