v1
2026-09-16
隔离 memcg v1 私有状态 · v1
将仅 cgroup v1 使用的成员从 struct mem_cgroup 抽到 struct mem_cgroup_v1,访问统一走 memcg->v1.X,使废弃 v1 实现自包含并瘦身热结构。
原始补丁链接
子 Patch(3)
1/3
mm, memcg: introduce struct mem_cgroup_v1
把 struct mem_cgroup 中受 CONFIG_MEMCG_V1 保护的 v1 专有成员集中为 struct mem_cgroup_v1,用匿名 union 保持历史布局,使 memcg->X 仍可编译、二进制布局不变,为后续清理铺路。
2/3
mm, memcg: move v1-only members into mem_cgroup_v1
将 v1 专有成员的访问全部改为 memcg->v1.X 并删除过渡 union;成员顺序与历史一致,offsetof、struct 大小及 mem_cgroup_swappiness 等热路径生成代码均不变。
3/3
docs: cgroup-v1: note the v1 memory controller implementation boundary
在 cgroup-v1 文档中说明 legacy memory controller 已隔离在 CONFIG_MEMCG_V1 与 struct mem_cgroup_v1 之后,新增功能应归入 v2 memory controller。