v1
2026-10-28
memcg_ext 动态低内存保护 · v1
新增 low_policy()/min_policy() BPF 钩子,动态保护低于 memory.low/min 的 cgroup。
原始补丁链接
子 Patch(2)
1/2
memcg_ext: add memory.low and memory.min protection policies
在 bpf_memcg_ops 增加 low_policy/min_policy,内核先做原 low/min 比较,未保护时才回调 BPF;BPF 只读 memcg、目标、阈值、usage,可返回 BELOW 让回收跳过,祖先策略 OR 叠加只增保护。
2/2
selftests/bpf: Add bpf_memcg_ops protection test
自测把 low_policy/min_policy 挂到子 cgroup,灌 8M 匿名页后从父级回收,验证两个钩子被调用且 ctx 含子 memcg、父目标、零阈值和非零 usage;无 swap 时写回 EAGAIN,策略返回 NO_OPINION 不断言结果。