diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2013-09-24 18:27:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-24 20:00:25 -0400 |
commit | 8f939a9f4c769500c58c31ec81ce17297388f4bf (patch) | |
tree | 987c5be7dbce3a941bc8f1a7d546b125de8b40bd /mm/memcontrol.c | |
parent | 20ba27f52eded4d14e309ac57971c9c83dec46e4 (diff) |
revert "memcg: track all children over limit in the root"
Revert commit 1be171d60bdd ("memcg: track all children over limit in the
root")
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>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index d5ff3ce13029..5ee0af463f2e 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -851,15 +851,9 @@ static void mem_cgroup_update_soft_limit(struct mem_cgroup *memcg) | |||
851 | /* | 851 | /* |
852 | * Necessary to update all ancestors when hierarchy is used | 852 | * Necessary to update all ancestors when hierarchy is used |
853 | * because their event counter is not touched. | 853 | * because their event counter is not touched. |
854 | * We track children even outside the hierarchy for the root | ||
855 | * cgroup because tree walk starting at root should visit | ||
856 | * all cgroups and we want to prevent from pointless tree | ||
857 | * walk if no children is below the limit. | ||
858 | */ | 854 | */ |
859 | while (delta && (parent = parent_mem_cgroup(parent))) | 855 | while (delta && (parent = parent_mem_cgroup(parent))) |
860 | atomic_add(delta, &parent->children_in_excess); | 856 | atomic_add(delta, &parent->children_in_excess); |
861 | if (memcg != root_mem_cgroup && !root_mem_cgroup->use_hierarchy) | ||
862 | atomic_add(delta, &root_mem_cgroup->children_in_excess); | ||
863 | spin_unlock(&memcg->soft_lock); | 857 | spin_unlock(&memcg->soft_lock); |
864 | } | 858 | } |
865 | 859 | ||
@@ -6112,9 +6106,6 @@ static void mem_cgroup_css_offline(struct cgroup_subsys_state *css) | |||
6112 | if (memcg->soft_contributed) { | 6106 | if (memcg->soft_contributed) { |
6113 | while ((memcg = parent_mem_cgroup(memcg))) | 6107 | while ((memcg = parent_mem_cgroup(memcg))) |
6114 | atomic_dec(&memcg->children_in_excess); | 6108 | atomic_dec(&memcg->children_in_excess); |
6115 | |||
6116 | if (memcg != root_mem_cgroup && !root_mem_cgroup->use_hierarchy) | ||
6117 | atomic_dec(&root_mem_cgroup->children_in_excess); | ||
6118 | } | 6109 | } |
6119 | mem_cgroup_destroy_all_caches(memcg); | 6110 | mem_cgroup_destroy_all_caches(memcg); |
6120 | vmpressure_cleanup(&memcg->vmpressure); | 6111 | vmpressure_cleanup(&memcg->vmpressure); |