【问题标题】:1GB pages and Transparent Huge Pages (Linux)1GB 页面和透明大页面 (Linux)
【发布时间】:2012-10-09 04:58:30
【问题描述】:

最近的 Linux 内核中的Transparent Huge Pages(THP) 支持允许在不同页面大小(例如,x86-64 中的 4KB 和 2MB)之间自动升级/降级。但我不确定 THP 是否也可以提升/降低 4KB1GB 页面之间或 2MB1GB 页面之间的页面大小。

有人可以对此发表评论吗?

【问题讨论】:

    标签: linux linux-kernel tlb


    【解决方案1】:

    根据这篇文章

    http://lwn.net/Articles/423584/

    当前补丁仅适用于匿名页面;工作 尚未完成将大页面与页面缓存的集成。它 也只处理一个巨大的页面大小(2MB)。即便如此,一些有用的 可以看到性能的提升。 Mel Gorman 运行了一些基准测试 在某些情况下显示出高达 10% 左右的改进。在 一般来说,结果不如使用 hugetlbfs,但实际使用 THP 的可能性更大。

    所以,似乎 THP 支持是为 4k -> 2M/4M 合并/拆分实现的。

    此外,在内核源代码中,我看到有一个split_huge_page_pmd 函数,并且PMD 经历了拆分,PMDPTE's 之上管理页面条目,它具有固定的 4k 大小,我认为PMD size (2M/4M) 是最大透明巨页大小。

    【讨论】:

    • 谢谢。这很有帮助。作为后续问题:您知道这是基本约束还是临时约束?
    • 我不知道 x86_64 大页面支持的详细信息,但我知道其他平台有不同的可用尺寸。例如,IBM power 有 64KB 和 16GB,我认为还有其他一些。
    • 那么,即使硬件支持 1GB 页面,THP 也只适用于 2MB/4MB?
    • 不,THP 使用硬件支持的页面大小。
    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 2013-03-28
    • 2017-12-29
    • 2017-07-24
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多