Loading mm/page_alloc.c +8 −5 Original line number Diff line number Diff line Loading @@ -699,14 +699,17 @@ static void free_pcppages_bulk(struct zone *zone, int count, /* must delete as __free_one_page list manipulates */ list_del(&page->lru); mt = get_freepage_migratetype(page); if (unlikely(has_isolate_pageblock(zone))) { mt = get_pageblock_migratetype(page); if (is_migrate_isolate(mt)) goto skip_counting; } __mod_zone_freepage_state(zone, 1, mt); skip_counting: /* MIGRATE_MOVABLE list may include MIGRATE_RESERVEs */ __free_one_page(page, zone, 0, mt); trace_mm_page_pcpu_drain(page, 0, mt); if (likely(!is_migrate_isolate_page(page))) { __mod_zone_page_state(zone, NR_FREE_PAGES, 1); if (is_migrate_cma(mt)) __mod_zone_page_state(zone, NR_FREE_CMA_PAGES, 1); } } while (--to_free && --batch_free && !list_empty(list)); } spin_unlock(&zone->lock); Loading Loading
mm/page_alloc.c +8 −5 Original line number Diff line number Diff line Loading @@ -699,14 +699,17 @@ static void free_pcppages_bulk(struct zone *zone, int count, /* must delete as __free_one_page list manipulates */ list_del(&page->lru); mt = get_freepage_migratetype(page); if (unlikely(has_isolate_pageblock(zone))) { mt = get_pageblock_migratetype(page); if (is_migrate_isolate(mt)) goto skip_counting; } __mod_zone_freepage_state(zone, 1, mt); skip_counting: /* MIGRATE_MOVABLE list may include MIGRATE_RESERVEs */ __free_one_page(page, zone, 0, mt); trace_mm_page_pcpu_drain(page, 0, mt); if (likely(!is_migrate_isolate_page(page))) { __mod_zone_page_state(zone, NR_FREE_PAGES, 1); if (is_migrate_cma(mt)) __mod_zone_page_state(zone, NR_FREE_CMA_PAGES, 1); } } while (--to_free && --batch_free && !list_empty(list)); } spin_unlock(&zone->lock); Loading