From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755761AbaHFHNs (ORCPT ); Wed, 6 Aug 2014 03:13:48 -0400 Received: from LGEMRELSE6Q.lge.com ([156.147.1.121]:36116 "EHLO lgemrelse6q.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754149AbaHFHLS (ORCPT ); Wed, 6 Aug 2014 03:11:18 -0400 X-Original-SENDERIP: 10.177.220.145 X-Original-MAILFROM: iamjoonsoo.kim@lge.com From: Joonsoo Kim To: Andrew Morton Cc: "Kirill A. Shutemov" , Rik van Riel , Mel Gorman , Johannes Weiner , Minchan Kim , Yasuaki Ishimatsu , Zhang Yanfei , "Srivatsa S. Bhat" , Tang Chen , Naoya Horiguchi , Bartlomiej Zolnierkiewicz , Wen Congyang , Marek Szyprowski , Michal Nazarewicz , Laura Abbott , Heesub Shin , "Aneesh Kumar K.V" , Ritesh Harjani , t.stanislaws@samsung.com, Gioh Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Joonsoo Kim Subject: [PATCH v2 3/8] mm/isolation: remove unstable check for isolated page Date: Wed, 6 Aug 2014 16:18:31 +0900 Message-Id: <1407309517-3270-6-git-send-email-iamjoonsoo.kim@lge.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1407309517-3270-1-git-send-email-iamjoonsoo.kim@lge.com> References: <1407309517-3270-1-git-send-email-iamjoonsoo.kim@lge.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The check '!PageBuddy(page) && page_count(page) == 0 && migratetype == MIGRATE_ISOLATE' would mean the page on free processing. Although it could go into buddy allocator within a short time, futher operation such as isolate_freepages_range() in CMA, called after test_page_isolated_in_pageblock(), could be failed due to this unstability since it requires that the page is on buddy. I think that removing this unstability is good thing. And, following patch makes isolated freepage has new status matched with this condition and this check is the obstacle to that change. So remove it. Signed-off-by: Joonsoo Kim --- mm/page_isolation.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mm/page_isolation.c b/mm/page_isolation.c index d1473b2..3100f98 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -198,11 +198,7 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, MIGRATE_ISOLATE); } pfn += 1 << page_order(page); - } - else if (page_count(page) == 0 && - get_freepage_migratetype(page) == MIGRATE_ISOLATE) - pfn += 1; - else if (skip_hwpoisoned_pages && PageHWPoison(page)) { + } else if (skip_hwpoisoned_pages && PageHWPoison(page)) { /* * The HWPoisoned page may be not in buddy * system, and page_count() is not 0. -- 1.7.9.5