v4
2026-08-28
使未使用的大页shrinker感知memcg · v4
shmem 未用大页 shrinker 非 memcg 感知,回收会拆分无关 memcg 的 folio;v4 使其 memcg 感知。
原始补丁链接
子 Patch(4)
1/4
fs: fix missed removal of super_fs_objects_eligible()
删除fs/super.c中残留的super_fs_objects_eligible(),该函数在commit 0ef8faff490be将memcg gating推入各文件系统后已无用,修复遗漏。
2/4
mm: memcontrol: make obj_cgroup_memcg() handle NULL objcg
CC the maintainers of MEMCG who were missed in the previous email.
3/4
mm: shmem: move unused huge shrinklist queuing past the truncation check
将shmem_get_folio_gfp()中inode加入unused huge shrink list的代码移到truncation检查之后,避免带失效folio的inode入队,纯结构移动,为memcg化做准备。
4/4
mm: shmem: make unused huge shrinker memcg aware
将shmem unused huge shrinker的per-superblock链表改为memcg-aware list_lru,inode按tail folio的memcg和node入队;用obj_cgroup引用替代mem_cgroup,配合list_lru迁移和offline reparenting,避免跨memcg回收。