AMD 今天发布了一组 Linux 内核补丁,用于启用名为 RMPOPT 的新指令。鉴于这些补丁的发布时间,RMPOPT 很可能是一项随下一代 AMD EPYC Zen 6 “Venice”处理器一同推出的功能。
RMPOPT 是一条新指令,旨在通过在某些情况下跳过 RMP 检查,来最小化超调频器上 RMP 检查的性能开销,以及非 SNP 客户端。有了 RMPOPT,当 1G 内存区域已知不包含任何 SEV-SNP 客户端内存时,这些检查可以被跳过。

今天是我第一次听说 AMD 的 RMPOPT,并且没有找到其他可能遗漏的补丁搜索结果。今天的补丁系列进一步描述了 RMPOPT 如下:
“在 SEV-SNP 架构中,虚拟机和非 SNP 客户机在写入时需要执行 RMP 检查,以提供 SEV-SNP 客户机内存的完整性。
RMPOPT 架构允许优化,当已知 1GB 内存区域不包含任何 SNP 客户机内存时,可以跳过 RMP 检查。
RMPOPT 是一种新指令,旨在最小化虚拟机和非 SNP 客户机执行 RMP 检查的性能开销。”
由于 SNP 默认启用,虚拟机和非 SNP 客机会进行 RMP 写检查,以提供 SNP 客内存的完整性。
该补丁系列为所有系统内存启用 RMPOPT 优化提供支持,并允许 RMPUPDATE 在 SNP 客启动时禁用这些优化。
此外,添加了一个 configfs 接口,用于在运行时重新启用 RMP 优化,以及一个 debugfs 接口,用于报告所有系统内存中每个 CPU 的 RMPOPT 状态。、
这些补丁没有明确指出将引入 RMPOPT 支持的 EPYC 服务器处理器的代数,代码只是检查该特性的存在。但鉴于时间安排,这很可能是今年晚些时候推出的 EPYC Venice 处理器的新特性之一。此外,其中一个补丁提到了 CPU “0-1023″,而 EPYC Venice 每个插槽可支持高达 256 个核心/512 个线程,这与新一代高端双插槽 EPYC Venice 服务器相符。
这项 AMD 为 Linux 内核启用的 RMPOPT 工作现已提交至邮件列表供审阅,并将在未来的内核发布中引入(考虑到当前的合并窗口已过,因此将在 7.0 版本之后发布)。
在谈到 AMD SEV-SNP 的话题时,如果你上周错过了:评估现代 EPYC 虚拟机对 AMD SEV-SNP 的性能成本。
转自 AMD Preparing Linux Kernel For “RMPOPT” To Help Reduce Overhead On SEV-SNP Servers – Phoronix
Linuxeden开源社区