MIGRATE_MOVABLE
BUILD_BUG_ON((___GFP_MOVABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_MOVABLE);
return is_migrate_cma(mt) || mt == MIGRATE_MOVABLE;
if (cc->migratetype == MIGRATE_MOVABLE)
freelist = &area->free_list[MIGRATE_MOVABLE];
if (cc->direct_compaction && cc->migratetype != MIGRATE_MOVABLE)
freelist = &area->free_list[MIGRATE_MOVABLE];
if (migratetype == MIGRATE_MOVABLE &&
get_pageblock_migratetype(page) != MIGRATE_MOVABLE)
MIGRATE_MOVABLE, false);
move_pfn_range_to_zone(zone, pfn, nr_pages, NULL, MIGRATE_MOVABLE,
MIGRATE_MOVABLE, false);
init_pageblock_migratetype(page, MIGRATE_MOVABLE, false);
init_pageblock_migratetype(page + i, MIGRATE_MOVABLE,
init_pageblock_migratetype(page, MIGRATE_MOVABLE,
init_pageblock_migratetype(pfn_to_page(pfn), MIGRATE_MOVABLE,
zone_end_pfn, MEMINIT_EARLY, NULL, MIGRATE_MOVABLE,
[MIGRATE_UNMOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_MOVABLE },
[MIGRATE_MOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_UNMOVABLE },
[MIGRATE_RECLAIMABLE] = { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE },
if (start_type == MIGRATE_MOVABLE) {
if (block_type == MIGRATE_MOVABLE)
migratetype = MIGRATE_MOVABLE;
migratetype = MIGRATE_MOVABLE;
MIGRATE_MOVABLE);
if (gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE)
ac->migratetype != MIGRATE_MOVABLE))) {
movable = migratetype == MIGRATE_MOVABLE;
account_freepages(zone, -MAX_ORDER_NR_PAGES, MIGRATE_MOVABLE);
account_freepages(zone, MAX_ORDER_NR_PAGES, MIGRATE_MOVABLE);
if (order < pageblock_order && migratetype == MIGRATE_MOVABLE &&
capc->cc->migratetype != MIGRATE_MOVABLE)
count[MIGRATE_MOVABLE]++;
[MIGRATE_MOVABLE] = 'M',