v1
2026-11-03
隔离 memcg v1 私有状态 · v1
将 cgroup v1 专用 memcg 状态收拢到 struct mem_cgroup_v1,经过渡 union 转换访问点,便于最终删除。
原始补丁链接
子 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。