diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 8ddd186f68c02044777e7cb2fa9983bdbca58815..200e19fe216ae662e4b707143cfb7aa25a4c710b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -8611,6 +8611,8 @@ bool take_page_off_buddy(struct page *page) zone->free_area[buddy_order].nr_free--; break_down_buddy_pages(zone, page_head, page, 0, buddy_order, migratetype); + if (!is_migrate_isolate(migratetype)) + __mod_zone_freepage_state(zone, -1, migratetype); ret = true; break; }