diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 452513bf02ceca4d331a2bd1781d0e1f9ec47b79..b6d38b1c1cdb47b629ca4b449823c643ca4e4bd1 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2517,7 +2517,10 @@ int __isolate_free_page(struct page *page, unsigned int order) zone->free_area[order].nr_free--; rmv_page_order(page); - /* Set the pageblock if the isolated page is at least a pageblock */ + /* + * Set the pageblock if the isolated page is at least half of a + * pageblock + */ if (order >= pageblock_order - 1) { struct page *endpage = page + (1 << order) - 1; for (; page < endpage; page += pageblock_nr_pages) {