Commit 8f939a9f authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

revert "memcg: track all children over limit in the root"

Revert commit 1be171d6 ("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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 20ba27f5
...@@ -851,15 +851,9 @@ static void mem_cgroup_update_soft_limit(struct mem_cgroup *memcg) ...@@ -851,15 +851,9 @@ static void mem_cgroup_update_soft_limit(struct mem_cgroup *memcg)
/* /*
* Necessary to update all ancestors when hierarchy is used * Necessary to update all ancestors when hierarchy is used
* because their event counter is not touched. * because their event counter is not touched.
* We track children even outside the hierarchy for the root
* cgroup because tree walk starting at root should visit
* all cgroups and we want to prevent from pointless tree
* walk if no children is below the limit.
*/ */
while (delta && (parent = parent_mem_cgroup(parent))) while (delta && (parent = parent_mem_cgroup(parent)))
atomic_add(delta, &parent->children_in_excess); atomic_add(delta, &parent->children_in_excess);
if (memcg != root_mem_cgroup && !root_mem_cgroup->use_hierarchy)
atomic_add(delta, &root_mem_cgroup->children_in_excess);
spin_unlock(&memcg->soft_lock); spin_unlock(&memcg->soft_lock);
} }
...@@ -6112,9 +6106,6 @@ static void mem_cgroup_css_offline(struct cgroup_subsys_state *css) ...@@ -6112,9 +6106,6 @@ static void mem_cgroup_css_offline(struct cgroup_subsys_state *css)
if (memcg->soft_contributed) { if (memcg->soft_contributed) {
while ((memcg = parent_mem_cgroup(memcg))) while ((memcg = parent_mem_cgroup(memcg)))
atomic_dec(&memcg->children_in_excess); atomic_dec(&memcg->children_in_excess);
if (memcg != root_mem_cgroup && !root_mem_cgroup->use_hierarchy)
atomic_dec(&root_mem_cgroup->children_in_excess);
} }
mem_cgroup_destroy_all_caches(memcg); mem_cgroup_destroy_all_caches(memcg);
vmpressure_cleanup(&memcg->vmpressure); vmpressure_cleanup(&memcg->vmpressure);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment