diff --git a/mm/page_alloc.c b/mm/page_alloc.c index fcb17103704f..73ef4ca07df4 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2790,9 +2790,12 @@ int __isolate_free_page(struct page *page, unsigned int order) * Only change normal pageblocks (i.e., they can merge * with others) */ - if (migratetype_is_mergeable(mt)) + if (migratetype_is_mergeable(mt)) { set_pageblock_migratetype(page, MIGRATE_MOVABLE); + move_freepages_block(zone, page, + MIGRATE_MOVABLE, NULL); + } } }