自从英特尔开始为 Linux 内核提供 5 级分页支持以来,已经过去了将近十年,以允许更大的虚拟和物理地址空间以及扩展的内存大小。2017 年,Linux 4.12 中上游了 5 级分页内核侧位,自 2019 年起在 Linux 5.5 中默认启用。一段时间以来,英特尔 CPU(自 Ice Lake 以来)也支持 5 级分页,自 Zen 4 以来也支持 AMD CPU。Linux 内核可能会无条件地启用对x86_64内核构建的 5 级分页支持。
英特尔正在推进在 Linux 内核中无条件启用 5 级分页支持。这是关于将虚拟地址大小从 48 位扩展到 57 位,以允许高达 128PB 的虚拟内存。
英特尔工程师 Kirill Shutemov 最近发布的这个补丁系列旨在删除“CONFIG_X86_5LEVEL”Kconfig 构建时选项,并简单地为新的 x86_64 内核构建始终启用 5 级分页。
“Intel 和 AMD CPU 都支持 5 级分页,预计未来将得到更广泛的采用。
删除CONFIG_X86_5LEVEL。
为此,请删除CONFIG_DYNAMIC_MEMORY_LAYOUT并使SPARSEMEM_VMEMMAP成为唯一的内存模型。
在实践中,这并不意味着大多数 Linux 发行版供应商的内核都启用了 CONFIG_X86_5LEVEL,但它少了一个旋钮,并且是时代的标志,可以满足更多的上游内核以满足现代硬件需求。
转自 Linux Looking To Make 5-Level Paging Support Unconditional For x86_64 Kernel Builds – Phoronix