|
@@ -2417,6 +2417,7 @@ struct page *buffered_rmqueue(struct zone *preferred_zone,
|
|
|
else
|
|
|
page = list_first_entry(list, struct page, lru);
|
|
|
|
|
|
+ __dec_zone_state(zone, NR_ALLOC_BATCH);
|
|
|
list_del(&page->lru);
|
|
|
pcp->count--;
|
|
|
} else {
|
|
@@ -2438,11 +2439,11 @@ struct page *buffered_rmqueue(struct zone *preferred_zone,
|
|
|
spin_unlock(&zone->lock);
|
|
|
if (!page)
|
|
|
goto failed;
|
|
|
+ __mod_zone_page_state(zone, NR_ALLOC_BATCH, -(1 << order));
|
|
|
__mod_zone_freepage_state(zone, -(1 << order),
|
|
|
get_pcppage_migratetype(page));
|
|
|
}
|
|
|
|
|
|
- __mod_zone_page_state(zone, NR_ALLOC_BATCH, -(1 << order));
|
|
|
if (atomic_long_read(&zone->vm_stat[NR_ALLOC_BATCH]) <= 0 &&
|
|
|
!test_bit(ZONE_FAIR_DEPLETED, &zone->flags))
|
|
|
set_bit(ZONE_FAIR_DEPLETED, &zone->flags);
|