谷歌为 Linux 内核添加 HugeTLB 高粒度映射功能
谷歌工程师 James Houghton 已向内核发送了两轮补丁,用于将 HugeTLB 高粒度映射 (HGM) 的概念引入 Linux 内核。目前他共发送了 46 个处于 RFC 后状态的补丁集以供审核。 Linux 内存管理采用“分页机制”, 当运行内存需求量较大时,太大的(4K/2M/1G) 大小的页面会导致较多的 TLB miss 和缺页中断,从而大大影响应用程序性能。HugeTLB 相当于这种 hugepage 大页面的管理者,它记录 TLB 中的条目并指向到 Hugepage,Hugepage 页面的分配及释放,都由此模块负责。 HugeTLB HGM 允许 HugeTLB 页面以类似于 PTE 映射的透明大页面 (THP) 的方式进行高粒度映射。Google 将 HugeTLB HGM 引入 Linux 对 VM 实时迁移和内存故障处理有不小的优化。James 在邮件中阐述了 HugeTLB HGM 补丁系列的一些主要优势: HugeTLB HGM 能够以快 100 倍的速度取消暂停 vCPU ,有助于客户机的稳定性,并且完全能够使用 1G 页面,可显著提高稳态客户机性能...