[merged mm-stable] mm-memcontrol-remove-unused-for_each_mem_cgroup-macro-and-cleanup.patch removed from -mm tree

Andrew Morton <[email protected]> Tue, 28 Jul 2026 21:12:54 -0700
Newsgroups org.kernel.vger.mm-commits
Message-ID <[email protected]>
The quilt patch titled
     Subject: mm/memcontrol: remove unused for_each_mem_cgroup macro and cleanup
has been removed from the -mm tree.  Its filename was
     mm-memcontrol-remove-unused-for_each_mem_cgroup-macro-and-cleanup.patch

This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

------------------------------------------------------
From: Joshua Hahn <[email protected]>
Subject: mm/memcontrol: remove unused for_each_mem_cgroup macro and cleanup
Date: Wed, 24 Jun 2026 11:36:59 -0700

Commit 7e1c0d6f58207 ("memcg: switch lruvec stats to rstat") removed the
last caller of for_each_mem_cgroup back in 2021, and there have not been
any new callers since.  Remove the macro.

A comment in mem_cgroup_css_online has also been out of date since 2021,
when 2bfd36374edd9 ("mm: vmscan: consolidate shrinker_maps handling code")
open-coded the for_each_mem_cgroup iterator.  Update the comment.

Finally, 99430ab8b804c ("mm: introduce BPF kfuncs to access memcg
statistics and events") added a second declaration for memcg_events to
include/linux/memcontrol.h, duplicating the one in mm/memcontrol-v1.h. 
Let's clean that up too.

No functional changes intended.

Link: https://lore.kernel.org/[email protected]
Signed-off-by: Joshua Hahn <[email protected]>
Acked-by: Shakeel Butt <[email protected]>
Reviewed-by: SeongJae Park <[email protected]>
Acked-by: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Muchun Song <[email protected]>
Cc: Roman Gushchin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

 mm/memcontrol-v1.h |    6 ------
 mm/memcontrol.c    |    2 +-
 2 files changed, 1 insertion(+), 7 deletions(-)

--- a/mm/memcontrol.c~mm-memcontrol-remove-unused-for_each_mem_cgroup-macro-and-cleanup
+++ a/mm/memcontrol.c
@@ -4217,7 +4217,7 @@ static int mem_cgroup_css_online(struct
 	/*
 	 * A memcg must be visible for expand_shrinker_info()
 	 * by the time the maps are allocated. So, we allocate maps
-	 * here, when for_each_mem_cgroup() can't skip it.
+	 * here, when mem_cgroup_iter() can't skip it.
 	 */
 	if (alloc_shrinker_info(memcg))
 		goto offline_kmem;
--- a/mm/memcontrol-v1.h~mm-memcontrol-remove-unused-for_each_mem_cgroup-macro-and-cleanup
+++ a/mm/memcontrol-v1.h
@@ -17,14 +17,8 @@
 	     iter != NULL;				\
 	     iter = mem_cgroup_iter(root, iter, NULL))
 
-#define for_each_mem_cgroup(iter)			\
-	for (iter = mem_cgroup_iter(NULL, NULL, NULL);	\
-	     iter != NULL;				\
-	     iter = mem_cgroup_iter(NULL, iter, NULL))
-
 void drain_all_stock(struct mem_cgroup *root_memcg);
 
-unsigned long memcg_events(struct mem_cgroup *memcg, int event);
 int memory_stat_show(struct seq_file *m, void *v);
 
 struct mem_cgroup *mem_cgroup_private_id_get_online(struct mem_cgroup *memcg,
_

Patches currently in -mm which might be from [email protected] are