[Devel] [PATCH rh7 v5 5/9] mm/mem_cgroup_iter: Provide _iter_invalidate() the dying memcg as an argument

Konstantin Khorenko khorenko at virtuozzo.com
Fri Feb 26 17:26:01 MSK 2021


It will be used by next patches when we search for this pointer
stored in iterators.

https://jira.sw.ru/browse/PSBM-123655

Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
Reviewed-by: Kirill Tkhai <ktkhai at virtuozzo.com>
---
 mm/memcontrol.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 7921f04b3670..a8a52c1a8e03 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1575,7 +1575,8 @@ static struct mem_cgroup *__mem_cgroup_iter_next(struct mem_cgroup *root,
 	return NULL;
 }
 
-static void mem_cgroup_iter_invalidate(struct mem_cgroup *root)
+static void mem_cgroup_iter_invalidate(struct mem_cgroup *root,
+				       struct mem_cgroup *dead_memcg)
 {
 	/*
 	 * When a group in the hierarchy below root is destroyed, the
@@ -6874,14 +6875,14 @@ static void mem_cgroup_invalidate_reclaim_iterators(struct mem_cgroup *memcg)
 	struct mem_cgroup *parent = memcg;
 
 	while ((parent = parent_mem_cgroup(parent)))
-		mem_cgroup_iter_invalidate(parent);
+		mem_cgroup_iter_invalidate(parent, memcg);
 
 	/*
 	 * if the root memcg is not hierarchical we have to check it
 	 * explicitely.
 	 */
 	if (!root_mem_cgroup->use_hierarchy)
-		mem_cgroup_iter_invalidate(root_mem_cgroup);
+		mem_cgroup_iter_invalidate(root_mem_cgroup, memcg);
 }
 
 static void mem_cgroup_free_all(struct mem_cgroup *memcg)
-- 
2.24.3



More information about the Devel mailing list