diff options
| author | Shakeel Butt <shakeel.butt@linux.dev> | 2026-09-02 10:43:09 -0700 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-10-06 17:39:02 -0700 |
| commit | fa148fc5e18e6d2b7197113ff414e68d53ea338c (patch) | |
| tree | 22ac25c16db4210d85e34a520b5fc7ea1ea33d32 | |
| parent | d5d1712c5928b46e848857037d89541fdd1e32a0 (diff) | |
| download | linux-next-fa148fc5e18e6d2b7197113ff414e68d53ea338c.tar.gz linux-next-fa148fc5e18e6d2b7197113ff414e68d53ea338c.zip | |
memcg: remove the per-node soft limit tree fields
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.
Link: https://lore.kernel.org/20260902174311.1772372-7-shakeel.butt@linux.dev
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Barry Song <baohua@kernel.org>
Cc: David Hildenbrand <david@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Kairui Song <kasong@tencent.com>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: T.J. Mercier <tjmercier@google.com>
| -rw-r--r-- | include/linux/memcontrol.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 11c1fa88d6fd..1eababed16f5 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; |
