v2
2026-09-21
memcgid 引用计数移入 objcg · v2
memcg v2:swap 计费置于 RCU 保护,按 memcgid root 状态计费,并用 ID/objcg 管理 memcg private ID 引用。
原始补丁链接
子 Patch(4)
1/4
memcg: keep swap charging under RCU protection
swap charging 路径获取 memcgid 引用后不再提前放 RCU 读锁,直到完成 memcg 计数/统计/失败处理,以适配未来 memcgid 绑定 objcg 后生命周期变化。
2/4
memcg: base swap charge accounting on memcgid root status
不再按当前解析到的 memcg 判断 swap 计费,而按 swap memcgid 是否为 root 决定 charge/uncharge memsw 或 swap counter,避免 objcg 重父后残留计费。
3/4
memcg: manipulate memcg private ID references by ID
将 memcg 私有 ID 的 get/put 接口改为直接接收 ID,新增 mem_cgroup_private_id_kill() 分离在线引用释放,为 ID 从 memcg 迁移到 objcg 后仍能正确释放做准备。
4/4
memcg: move memcg private ID refcount to objcg
On Sep 21, 2026, at 14:16, Bingfang Guo via B4 Relay devnull+bingfangguo.tencent.com@kernel.org wrote: > > From: Bingfang Guo bingfangguo@tencent.com > > The memcg private ID is used by object