diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 4b1bebbf941c3da0c5a1c5c1f8506e9d17624c5c..91be63abbd7a3124d8ae056811e514633a4bad78 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -8870,6 +8870,8 @@ bool take_page_off_buddy(struct page *page) del_page_from_free_list(page_head, zone, page_order); break_down_buddy_pages(zone, page_head, page, 0, page_order, migratetype); + if (!is_migrate_isolate(migratetype)) + __mod_zone_freepage_state(zone, -1, migratetype); ret = true; break; }