diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_alloc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d27e8b968ac3..2e860f431d6b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -2615,11 +2615,12 @@ struct page *buffered_rmqueue(struct zone *preferred_zone, | |||
2615 | page = list_last_entry(list, struct page, lru); | 2615 | page = list_last_entry(list, struct page, lru); |
2616 | else | 2616 | else |
2617 | page = list_first_entry(list, struct page, lru); | 2617 | page = list_first_entry(list, struct page, lru); |
2618 | } while (page && check_new_pcp(page)); | ||
2619 | 2618 | ||
2620 | __dec_zone_state(zone, NR_ALLOC_BATCH); | 2619 | __dec_zone_state(zone, NR_ALLOC_BATCH); |
2621 | list_del(&page->lru); | 2620 | list_del(&page->lru); |
2622 | pcp->count--; | 2621 | pcp->count--; |
2622 | |||
2623 | } while (check_new_pcp(page)); | ||
2623 | } else { | 2624 | } else { |
2624 | /* | 2625 | /* |
2625 | * We most definitely don't want callers attempting to | 2626 | * We most definitely don't want callers attempting to |