From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754535AbcI2J5P (ORCPT ); Thu, 29 Sep 2016 05:57:15 -0400 Received: from mx2.suse.de ([195.135.220.15]:44611 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752355AbcI2J5H (ORCPT ); Thu, 29 Sep 2016 05:57:07 -0400 Subject: Re: [PATCH 3/4] mm, compaction: ignore fragindex from compaction_zonelist_suitable() To: Andrew Morton References: <20160926162025.21555-1-vbabka@suse.cz> <20160926162025.21555-4-vbabka@suse.cz> Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Linus Torvalds , Arkadiusz Miskiewicz , Ralf-Peter Rohbeck , Olaf Hering , Michal Hocko , Mel Gorman , Joonsoo Kim , David Rientjes , Rik van Riel , Hillf Danton , Michal Hocko From: Vlastimil Babka Message-ID: Date: Thu, 29 Sep 2016 11:57:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <20160926162025.21555-4-vbabka@suse.cz> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/26/2016 06:20 PM, Vlastimil Babka wrote: > The compaction_zonelist_suitable() function tries to determine if compaction > will be able to proceed after sufficient reclaim, i.e. whether there are > enough reclaimable pages to provide enough order-0 freepages for compaction. > > This addition of reclaimable pages to the free pages works well for the order-0 > watermark check, but in the fragmentation index check we only consider truly > free pages. Thus we can get fragindex value close to 0 which indicates failure > do to lack of memory, and wrongly decide that compaction won't be suitable even > after reclaim. > > Instead of trying to somehow adjust fragindex for reclaimable pages, let's just > skip it from compaction_zonelist_suitable(). > > Signed-off-by: Vlastimil Babka > Cc: Michal Hocko > Cc: Mel Gorman > Cc: Joonsoo Kim > Cc: David Rientjes > Cc: Rik van Riel Bah, a fix below, sorry. ----8<---- >>From 1cd4855305a9c7eef0cf0c1af9f310cecdcc9406 Mon Sep 17 00:00:00 2001 From: Vlastimil Babka Date: Thu, 29 Sep 2016 11:54:07 +0200 Subject: [PATCH] mm, compaction: ignore fragindex from compaction_zonelist_suitable()-fix COMPACT_NOT_SUITABLE_ZONE should not leak outside compaction_suitable() and we should not skip tracepoint. Signed-off-by: Vlastimil Babka --- mm/compaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/compaction.c b/mm/compaction.c index badb92bf14b4..0409a4ad6ea1 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1445,7 +1445,7 @@ enum compact_result compaction_suitable(struct zone *zone, int order, if (ret == COMPACT_CONTINUE && (order > PAGE_ALLOC_COSTLY_ORDER)) { fragindex = fragmentation_index(zone, order); if (fragindex >= 0 && fragindex <= sysctl_extfrag_threshold) - return COMPACT_NOT_SUITABLE_ZONE; + ret = COMPACT_NOT_SUITABLE_ZONE; } trace_mm_compaction_suitable(zone, order, ret); -- 2.10.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f69.google.com (mail-wm0-f69.google.com [74.125.82.69]) by kanga.kvack.org (Postfix) with ESMTP id 5ACB028024F for ; Thu, 29 Sep 2016 05:57:07 -0400 (EDT) Received: by mail-wm0-f69.google.com with SMTP id b130so67922964wmc.2 for ; Thu, 29 Sep 2016 02:57:07 -0700 (PDT) Received: from mx2.suse.de (mx2.suse.de. [195.135.220.15]) by mx.google.com with ESMTPS id wi9si13801080wjb.186.2016.09.29.02.57.05 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 29 Sep 2016 02:57:06 -0700 (PDT) Subject: Re: [PATCH 3/4] mm, compaction: ignore fragindex from compaction_zonelist_suitable() References: <20160926162025.21555-1-vbabka@suse.cz> <20160926162025.21555-4-vbabka@suse.cz> From: Vlastimil Babka Message-ID: Date: Thu, 29 Sep 2016 11:57:01 +0200 MIME-Version: 1.0 In-Reply-To: <20160926162025.21555-4-vbabka@suse.cz> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Linus Torvalds , Arkadiusz Miskiewicz , Ralf-Peter Rohbeck , Olaf Hering , Michal Hocko , Mel Gorman , Joonsoo Kim , David Rientjes , Rik van Riel , Hillf Danton , Michal Hocko On 09/26/2016 06:20 PM, Vlastimil Babka wrote: > The compaction_zonelist_suitable() function tries to determine if compaction > will be able to proceed after sufficient reclaim, i.e. whether there are > enough reclaimable pages to provide enough order-0 freepages for compaction. > > This addition of reclaimable pages to the free pages works well for the order-0 > watermark check, but in the fragmentation index check we only consider truly > free pages. Thus we can get fragindex value close to 0 which indicates failure > do to lack of memory, and wrongly decide that compaction won't be suitable even > after reclaim. > > Instead of trying to somehow adjust fragindex for reclaimable pages, let's just > skip it from compaction_zonelist_suitable(). > > Signed-off-by: Vlastimil Babka > Cc: Michal Hocko > Cc: Mel Gorman > Cc: Joonsoo Kim > Cc: David Rientjes > Cc: Rik van Riel Bah, a fix below, sorry. ----8<----