[Devel] [PATCH rh7 4/8] mm/mem_cgroup_iter: Provide _iter_invalidate() the dying memcg as an argument

Konstantin Khorenko khorenko at virtuozzo.com
Sat Feb 20 12:24:10 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>
---
 mm/memcontrol.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 23f37b129fc7..6cde4dbe3c7b 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1566,7 +1566,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)
 {
 	struct mem_cgroup_reclaim_iter *iter;
 	struct mem_cgroup_per_zone *mz;
@@ -6903,14 +6904,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