|
@@ -2615,11 +2615,12 @@ struct page *buffered_rmqueue(struct zone *preferred_zone,
|
|
|
page = list_last_entry(list, struct page, lru);
|
|
|
else
|
|
|
page = list_first_entry(list, struct page, lru);
|
|
|
- } while (page && check_new_pcp(page));
|
|
|
|
|
|
- __dec_zone_state(zone, NR_ALLOC_BATCH);
|
|
|
- list_del(&page->lru);
|
|
|
- pcp->count--;
|
|
|
+ __dec_zone_state(zone, NR_ALLOC_BATCH);
|
|
|
+ list_del(&page->lru);
|
|
|
+ pcp->count--;
|
|
|
+
|
|
|
+ } while (check_new_pcp(page));
|
|
|
} else {
|
|
|
/*
|
|
|
* We most definitely don't want callers attempting to
|