diff options
-rw-r--r-- | include/linux/swap.h | 3 | ||||
-rw-r--r-- | mm/memcontrol.c | 3 | ||||
-rw-r--r-- | mm/vmscan.c | 5 |
3 files changed, 3 insertions, 8 deletions
diff --git a/include/linux/swap.h b/include/linux/swap.h index 91c9d3fc8513..2fee51a11b73 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -244,8 +244,7 @@ extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem, | |||
244 | extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, | 244 | extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, |
245 | gfp_t gfp_mask, bool noswap, | 245 | gfp_t gfp_mask, bool noswap, |
246 | unsigned int swappiness, | 246 | unsigned int swappiness, |
247 | struct zone *zone, | 247 | struct zone *zone); |
248 | int nid); | ||
249 | extern int __isolate_lru_page(struct page *page, int mode, int file); | 248 | extern int __isolate_lru_page(struct page *page, int mode, int file); |
250 | extern unsigned long shrink_all_memory(unsigned long nr_pages); | 249 | extern unsigned long shrink_all_memory(unsigned long nr_pages); |
251 | extern int vm_swappiness; | 250 | extern int vm_swappiness; |
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index a1c3c317a4dd..8d0bfd7fe328 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -1300,8 +1300,7 @@ static int mem_cgroup_hierarchical_reclaim(struct mem_cgroup *root_mem, | |||
1300 | /* we use swappiness of local cgroup */ | 1300 | /* we use swappiness of local cgroup */ |
1301 | if (check_soft) | 1301 | if (check_soft) |
1302 | ret = mem_cgroup_shrink_node_zone(victim, gfp_mask, | 1302 | ret = mem_cgroup_shrink_node_zone(victim, gfp_mask, |
1303 | noswap, get_swappiness(victim), zone, | 1303 | noswap, get_swappiness(victim), zone); |
1304 | zone->zone_pgdat->node_id); | ||
1305 | else | 1304 | else |
1306 | ret = try_to_free_mem_cgroup_pages(victim, gfp_mask, | 1305 | ret = try_to_free_mem_cgroup_pages(victim, gfp_mask, |
1307 | noswap, get_swappiness(victim)); | 1306 | noswap, get_swappiness(victim)); |
diff --git a/mm/vmscan.c b/mm/vmscan.c index 291270496b6f..06ccda66dec0 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1969,7 +1969,7 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order, | |||
1969 | unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, | 1969 | unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, |
1970 | gfp_t gfp_mask, bool noswap, | 1970 | gfp_t gfp_mask, bool noswap, |
1971 | unsigned int swappiness, | 1971 | unsigned int swappiness, |
1972 | struct zone *zone, int nid) | 1972 | struct zone *zone) |
1973 | { | 1973 | { |
1974 | struct scan_control sc = { | 1974 | struct scan_control sc = { |
1975 | .nr_to_reclaim = SWAP_CLUSTER_MAX, | 1975 | .nr_to_reclaim = SWAP_CLUSTER_MAX, |
@@ -1980,11 +1980,8 @@ unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem, | |||
1980 | .order = 0, | 1980 | .order = 0, |
1981 | .mem_cgroup = mem, | 1981 | .mem_cgroup = mem, |
1982 | }; | 1982 | }; |
1983 | nodemask_t nm = nodemask_of_node(nid); | ||
1984 | |||
1985 | sc.gfp_mask = (gfp_mask & GFP_RECLAIM_MASK) | | 1983 | sc.gfp_mask = (gfp_mask & GFP_RECLAIM_MASK) | |
1986 | (GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK); | 1984 | (GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK); |
1987 | sc.nodemask = &nm; | ||
1988 | 1985 | ||
1989 | trace_mm_vmscan_memcg_softlimit_reclaim_begin(0, | 1986 | trace_mm_vmscan_memcg_softlimit_reclaim_begin(0, |
1990 | sc.may_writepage, | 1987 | sc.may_writepage, |