diff options
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r-- | mm/vmscan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index b93968b71dc6..a68fa20269d9 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -2352,7 +2352,7 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order, | |||
2352 | { | 2352 | { |
2353 | unsigned long nr_reclaimed; | 2353 | unsigned long nr_reclaimed; |
2354 | struct scan_control sc = { | 2354 | struct scan_control sc = { |
2355 | .gfp_mask = gfp_mask, | 2355 | .gfp_mask = (gfp_mask = memalloc_noio_flags(gfp_mask)), |
2356 | .may_writepage = !laptop_mode, | 2356 | .may_writepage = !laptop_mode, |
2357 | .nr_to_reclaim = SWAP_CLUSTER_MAX, | 2357 | .nr_to_reclaim = SWAP_CLUSTER_MAX, |
2358 | .may_unmap = 1, | 2358 | .may_unmap = 1, |
@@ -3313,7 +3313,7 @@ static int __zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) | |||
3313 | .may_unmap = !!(zone_reclaim_mode & RECLAIM_SWAP), | 3313 | .may_unmap = !!(zone_reclaim_mode & RECLAIM_SWAP), |
3314 | .may_swap = 1, | 3314 | .may_swap = 1, |
3315 | .nr_to_reclaim = max(nr_pages, SWAP_CLUSTER_MAX), | 3315 | .nr_to_reclaim = max(nr_pages, SWAP_CLUSTER_MAX), |
3316 | .gfp_mask = gfp_mask, | 3316 | .gfp_mask = (gfp_mask = memalloc_noio_flags(gfp_mask)), |
3317 | .order = order, | 3317 | .order = order, |
3318 | .priority = ZONE_RECLAIM_PRIORITY, | 3318 | .priority = ZONE_RECLAIM_PRIORITY, |
3319 | }; | 3319 | }; |