最近 Linux 内核中的Transparent Huge Pages(THP)
支持允许在不同页面大小(例如,x86-64 中的 4KB 和 2MB)之间自动升级/降级。但我不确定 THP 是否也可以在4KB
和1GB
页面之间或在2MB
和1GB
页面之间提升/降低页面大小。
有人可以对此发表评论吗?
最近 Linux 内核中的Transparent Huge Pages(THP)
支持允许在不同页面大小(例如,x86-64 中的 4KB 和 2MB)之间自动升级/降级。但我不确定 THP 是否也可以在4KB
和1GB
页面之间或在2MB
和1GB
页面之间提升/降低页面大小。
有人可以对此发表评论吗?
根据这篇文章
http://lwn.net/Articles/423584/
当前补丁仅适用于匿名页面;将大页面与页面缓存集成的工作尚未完成。它也只处理一个巨大的页面大小(2MB)。即便如此,还是可以看到一些有用的性能改进。Mel Gorman 运行了一些基准测试,显示在某些情况下提高了 10% 左右。一般来说,结果不如使用hugetlbfs 获得的结果好,但实际使用THP 的可能性更大。
因此,似乎为 4k -> 2M/4M 合并/拆分实现了 THP 支持。
此外,在内核源代码中,我看到有一个split_huge_page_pmd函数,并且在进行PMD
拆分和PMD
管理页面条目时,PTE's
它具有固定的 4k 大小,我认为PMD
大小(2M/4M)是最大透明大页面大小。