diff --git a/[refs] b/[refs] index 667541ae27f7..b36d09f63fae 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bb833986674ce1fc1b237b3d81459511ad2df393 +refs/heads/master: 6b1de9161e973bac8c4675db608fe4f38d2689bd diff --git a/trunk/mm/page_alloc.c b/trunk/mm/page_alloc.c index 104e69ca55e0..bd4de592dc23 100644 --- a/trunk/mm/page_alloc.c +++ b/trunk/mm/page_alloc.c @@ -845,21 +845,22 @@ __alloc_pages(gfp_t gfp_mask, unsigned int order, might_sleep_if(wait); +restart: z = zonelist->zones; /* the list of zones suitable for gfp_mask */ if (unlikely(*z == NULL)) { /* Should this ever happen?? */ return NULL; } -restart: + page = get_page_from_freelist(gfp_mask|__GFP_HARDWALL, order, zonelist, ALLOC_CPUSET); if (page) goto got_pg; - do + do { wakeup_kswapd(*z, order); - while (*(++z)); + } while (*(++z)); /* * OK, we're below the kswapd watermark and have kicked background