diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c13ea7538891..5e92698e5395 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -2362,9 +2362,8 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, | |||
2362 | goto nopage; | 2362 | goto nopage; |
2363 | 2363 | ||
2364 | restart: | 2364 | restart: |
2365 | if (!(gfp_mask & __GFP_NO_KSWAPD)) | 2365 | wake_all_kswapd(order, zonelist, high_zoneidx, |
2366 | wake_all_kswapd(order, zonelist, high_zoneidx, | 2366 | zone_idx(preferred_zone)); |
2367 | zone_idx(preferred_zone)); | ||
2368 | 2367 | ||
2369 | /* | 2368 | /* |
2370 | * OK, we're below the kswapd watermark and have kicked background | 2369 | * OK, we're below the kswapd watermark and have kicked background |
@@ -2441,7 +2440,7 @@ rebalance: | |||
2441 | * system then fail the allocation instead of entering direct reclaim. | 2440 | * system then fail the allocation instead of entering direct reclaim. |
2442 | */ | 2441 | */ |
2443 | if ((deferred_compaction || contended_compaction) && | 2442 | if ((deferred_compaction || contended_compaction) && |
2444 | (gfp_mask & __GFP_NO_KSWAPD)) | 2443 | (gfp_mask & (__GFP_MOVABLE|__GFP_REPEAT)) == __GFP_MOVABLE) |
2445 | goto nopage; | 2444 | goto nopage; |
2446 | 2445 | ||
2447 | /* Try direct reclaim and then allocating */ | 2446 | /* Try direct reclaim and then allocating */ |