1GB页面和透明大页面(Linux)

Ark*_*rka 5 linux linux-kernel tlb

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

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

Ily*_*kov 9

根据这篇文章

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大小(2M/4M)是最大透明的巨大页面大小.