There is a mistake on moving freepage from normal buddy list to isolate buddy list. If we move page from normal buddy list to isolate buddy list, We should subtract freepage count in this case, but, it didn't.
And, previous patches ('mm/isolation: close the two race problems related to pageblock isolation' and 'mm/isolation: change pageblock isolation logic to fix freepage counting bugs') solves the race related to pageblock isolation. So, this misplacement cannot happen and this workaround aren't needed anymore. Signed-off-by: Joonsoo Kim <iamjoonsoo....@lge.com> --- mm/page_isolation.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/mm/page_isolation.c b/mm/page_isolation.c index 063f1f9..48c8836 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -351,20 +351,6 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, } page = pfn_to_page(pfn); if (PageBuddy(page)) { - /* - * If race between isolatation and allocation happens, - * some free pages could be in MIGRATE_MOVABLE list - * although pageblock's migratation type of the page - * is MIGRATE_ISOLATE. Catch it and move the page into - * MIGRATE_ISOLATE list. - */ - if (get_freepage_migratetype(page) != MIGRATE_ISOLATE) { - struct page *end_page; - - end_page = page + (1 << page_order(page)) - 1; - move_freepages(page_zone(page), page, end_page, - MIGRATE_ISOLATE); - } pfn += 1 << page_order(page); } else if (skip_hwpoisoned_pages && PageHWPoison(page)) { /* -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/