[PATCH 7/9] memcg: remove the per-node soft limit tree fields
From: Shakeel Butt
Date: Tue Aug 11 2026 - 16:36:16 EST
tree_node, usage_in_excess and on_tree only existed for the soft limit
rbtree. They also doubled as the buffer between the read-mostly head of
struct mem_cgroup_per_node and its update-often tail, so replace them
with the explicit padding that CONFIG_MEMCG_V1=n already used.
Signed-off-by: Shakeel Butt <shakeel.butt@xxxxxxxxx>
---
include/linux/memcontrol.h | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index 7b02f1b3bb88..ce24e04967d8 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -95,20 +95,7 @@ struct mem_cgroup_per_node {
struct lruvec_stats *lruvec_stats;
struct shrinker_info __rcu *shrinker_info;
-#ifdef CONFIG_MEMCG_V1
- /*
- * Memcg-v1 only stuff in middle as buffer between read mostly fields
- * and update often fields to avoid false sharing. If v1 stuff is
- * not present, an explicit padding is needed.
- */
-
- struct rb_node tree_node; /* RB tree node */
- unsigned long usage_in_excess;/* Set to the value by which */
- /* the soft limit is exceeded*/
- bool on_tree;
-#else
CACHELINE_PADDING(_pad1_);
-#endif
/* Fields which get updated often at the end. */
struct lruvec lruvec;
--
2.53.0-Meta