The patch titled Subject: mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2 has been removed from the -mm tree. Its filename was mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2.patch This patch was dropped because it was folded into mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks.patch The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ From: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Subject: mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2 Fix can_rescue_unmovable_pageblock() comment and __count_immobile_pages() documentation. Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Cong Wang <amwang@xxxxxxxxxx> Cc: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/compaction.c | 9 +++++---- mm/page_alloc.c | 16 +++++++++++----- 2 files changed, 16 insertions(+), 9 deletions(-) diff -puN mm/compaction.c~mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2 mm/compaction.c --- a/mm/compaction.c~mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2 +++ a/mm/compaction.c @@ -377,10 +377,11 @@ static bool can_rescue_unmovable_pageblo start_page = pfn_to_page(start_pfn); /* - * Race with page allocator/reclaimer can happen so that it can - * deceive unmovable block to migratable type on this pageblock. - * It could regress on anti-fragmentation but it's rare and not - * critical. + * Race with page allocator/reclaimer can happen so it is possible + * that MIGRATE_UNMOVABLE type page will end up in MIGRATE_MOVABLE + * type pageblock. However such situation is rare and not critical + * (because page allocator fallback mechanism can also allocate + * MIGRATE_UNMOVABLE type pages in MIGRATE_MOVABLE type pageblock). */ return __count_immobile_pages(zone, start_page, 0); } diff -puN mm/page_alloc.c~mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2 mm/page_alloc.c --- a/mm/page_alloc.c~mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks-fix-2 +++ a/mm/page_alloc.c @@ -5465,12 +5465,18 @@ void set_pageblock_flags_group(struct pa __clear_bit(bitidx + start_bitidx, bitmap); } -/* - * This is designed as sub function...plz see page_isolation.c also. - * set/clear page block's type to be ISOLATE. - * page allocater never alloc memory from ISOLATE block. +/** + * __count_immobile_pages - Check pageblock for MIGRATE_UNMOVABLE type pages. + * @zone: Zone pages are in. + * @page: The first page in the pageblock. + * @count: The count of allowed MIGRATE_UNMOVABLE type pages. + * + * Count the number of MIGRATE_UNMOVABLE type pages in the pageblock + * starting with @page. Returns true If the @zone is of ZONE_MOVABLE + * type or the pageblock is of MIGRATE_MOVABLE or MIGRATE_CMA type. + * If the number of MIGRATE_UNMOVABLE type pages inside the pageblock + * is higher than given by @count returns false, true otherwise. */ - bool __count_immobile_pages(struct zone *zone, struct page *page, int count) { unsigned long pfn, iter, found; _ Patches currently in -mm which might be from b.zolnierkie@xxxxxxxxxxx are mm-compaction-handle-incorrect-migrate_unmovable-type-pageblocks.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html