diff options
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r-- | mm/vmscan.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index b07c48b09a93..f63b20dd7714 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1661,7 +1661,8 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order, | |||
1661 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR | 1661 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR |
1662 | 1662 | ||
1663 | unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem_cont, | 1663 | unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem_cont, |
1664 | gfp_t gfp_mask) | 1664 | gfp_t gfp_mask, |
1665 | bool noswap) | ||
1665 | { | 1666 | { |
1666 | struct scan_control sc = { | 1667 | struct scan_control sc = { |
1667 | .may_writepage = !laptop_mode, | 1668 | .may_writepage = !laptop_mode, |
@@ -1674,6 +1675,9 @@ unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem_cont, | |||
1674 | }; | 1675 | }; |
1675 | struct zonelist *zonelist; | 1676 | struct zonelist *zonelist; |
1676 | 1677 | ||
1678 | if (noswap) | ||
1679 | sc.may_swap = 0; | ||
1680 | |||
1677 | sc.gfp_mask = (gfp_mask & GFP_RECLAIM_MASK) | | 1681 | sc.gfp_mask = (gfp_mask & GFP_RECLAIM_MASK) | |
1678 | (GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK); | 1682 | (GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK); |
1679 | zonelist = NODE_DATA(numa_node_id())->node_zonelists; | 1683 | zonelist = NODE_DATA(numa_node_id())->node_zonelists; |