aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2013-09-24 18:27:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-24 20:00:25 -0400
commit3120055e869f2a208480f238680d097eec8f0e02 (patch)
tree0d3c4d85800f2ab0ba1c70e3b8aaf25c630cacf4
parent8f939a9f4c769500c58c31ec81ce17297388f4bf (diff)
revert "memcg, vmscan: do not attempt soft limit reclaim if it would not scan anything"
Revert commit e839b6a1c8d0 ("memcg, vmscan: do not attempt soft limit reclaim if it would not scan anything") I merged this prematurely - Michal and Johannes still disagree about the overall design direction and the future remains unclear. Cc: Michal Hocko <mhocko@suse.cz> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/memcontrol.c6
-rw-r--r--mm/vmscan.c4
2 files changed, 2 insertions, 8 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 5ee0af463f2e..5cf7726764cc 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1872,11 +1872,7 @@ enum mem_cgroup_filter_t
1872mem_cgroup_soft_reclaim_eligible(struct mem_cgroup *memcg, 1872mem_cgroup_soft_reclaim_eligible(struct mem_cgroup *memcg,
1873 struct mem_cgroup *root) 1873 struct mem_cgroup *root)
1874{ 1874{
1875 struct mem_cgroup *parent; 1875 struct mem_cgroup *parent = memcg;
1876
1877 if (!memcg)
1878 memcg = root_mem_cgroup;
1879 parent = memcg;
1880 1876
1881 if (res_counter_soft_limit_excess(&memcg->res)) 1877 if (res_counter_soft_limit_excess(&memcg->res))
1882 return VISIT; 1878 return VISIT;
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 97b0ed16749f..cdd300b81485 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -142,9 +142,7 @@ static bool global_reclaim(struct scan_control *sc)
142 142
143static bool mem_cgroup_should_soft_reclaim(struct scan_control *sc) 143static bool mem_cgroup_should_soft_reclaim(struct scan_control *sc)
144{ 144{
145 struct mem_cgroup *root = sc->target_mem_cgroup; 145 return !mem_cgroup_disabled();
146 return !mem_cgroup_disabled() &&
147 mem_cgroup_soft_reclaim_eligible(root, root) != SKIP_TREE;
148} 146}
149#else 147#else
150static bool global_reclaim(struct scan_control *sc) 148static bool global_reclaim(struct scan_control *sc)