Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753523AbbLDPgb (ORCPT ); Fri, 4 Dec 2015 10:36:31 -0500 Received: from mx2.suse.de ([195.135.220.15]:55148 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751627AbbLDPga (ORCPT ); Fri, 4 Dec 2015 10:36:30 -0500 Subject: Re: [PATCH v3 3/7] mm/compaction: initialize compact_order_failed to MAX_ORDER To: Joonsoo Kim , Andrew Morton References: <1449126681-19647-1-git-send-email-iamjoonsoo.kim@lge.com> <1449126681-19647-4-git-send-email-iamjoonsoo.kim@lge.com> Cc: Mel Gorman , Rik van Riel , David Rientjes , Minchan Kim , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Joonsoo Kim From: Vlastimil Babka Message-ID: <5661B2FC.9060202@suse.cz> Date: Fri, 4 Dec 2015 16:36:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1449126681-19647-4-git-send-email-iamjoonsoo.kim@lge.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1529 Lines: 41 On 12/03/2015 08:11 AM, Joonsoo Kim wrote: > If compact_order_failed is initialized to 0 and order-9 > compaction is continually failed, defer counter will be updated > to activate deferring. Although other defer counters will be properly > updated, compact_order_failed will not be updated because failed order > cannot be lower than compact_order_failed, 0. In this case, > low order compaction such as 2, 3 could be deferred due to > this wrongly initialized compact_order_failed value. This patch > removes this possibility by initializing it to MAX_ORDER. > > Signed-off-by: Joonsoo Kim Good catch. Acked-by: Vlastimil Babka > --- > mm/page_alloc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index d0499ff..7002c66 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -5273,6 +5273,9 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat) > zone_seqlock_init(zone); > zone->zone_pgdat = pgdat; > zone_pcp_init(zone); > +#ifdef CONFIG_COMPACTION > + zone->compact_order_failed = MAX_ORDER; > +#endif > > /* For bootup, initialized properly in watermark setup */ > mod_zone_page_state(zone, NR_ALLOC_BATCH, zone->managed_pages); > -- 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/