revert "memcg: track all children over limit in the root"
Revert commit 1be171d60b
("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>
This commit is contained in:
Родитель
20ba27f52e
Коммит
8f939a9f4c
|
@ -851,15 +851,9 @@ static void mem_cgroup_update_soft_limit(struct mem_cgroup *memcg)
|
|||
/*
|
||||
* Necessary to update all ancestors when hierarchy is used
|
||||
* 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)))
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -6112,9 +6106,6 @@ static void mem_cgroup_css_offline(struct cgroup_subsys_state *css)
|
|||
if (memcg->soft_contributed) {
|
||||
while ((memcg = parent_mem_cgroup(memcg)))
|
||||
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);
|
||||
vmpressure_cleanup(&memcg->vmpressure);
|
||||
|
|
Загрузка…
Ссылка в новой задаче