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