AMD Sends Out Latest Linux Patches For RMPOPT Optimization
([AMD] 23 Minutes Ago
AMD RMPOPT)
- Reference: 0001644084
- News link: https://www.phoronix.com/news/AMD-RMPOPT-Linux-v10
- Source link:
Earlier this year AMD disclosed the RMPOPT instruction that given the timing will seemingly be introduced with upcoming Zen 6 EPYC "Venice" processors. The RMPOPT feature amounts to a performance optimization for AMD EPYC SEV-SNP enabled servers by cutting down on the associated Reverse Map Table (RMP) overhead. Linux enablement of AMD RMPOPT remains ongoing and out this week is the latest iteration of the enablement.
RMPOPT minimizes the overhead of Reverse Map Table checks for the hypervisor and non-SEV-SNP guests. The RMP is used for ensuring a one-to-one mapping between system physical and guest physical addresses. For AMD servers with Secure Encrypted Virtualization Secure Nested Paging (SEV-SNP) enabled, RMP checks on memory writes are performed to protect against corruption of SEV-SNP. With RMPOPT, it will allow selectively skipping said checks in 1GB region increments of memory if those regions are known to not contain any SEV-SNP guest memory. Thus a win for future AMD EPYC servers with RMPOPT support for reducing the overhead if you have a server that isn't completely saturated with confidential VMs, the system memory for non-secure guests or other uses can avoid the RMP checks.
Since February [1]AMD Linux engineers have been wiring up RMPOPT for the kernel and this week is now up to the tenth revision of the code. The v10 patches appear to be settling down and thus will hopefully soon be mainlined to the Linux kernel. It's too bad though the RMPOPT support didn't make it in time for the Linux 7.2 merge window considering this will be the stock kernel of the likes of Ubuntu 26.10 and future 26.04 LTS HWE kernel, etc.
The patches in their current form support RMPOPT optimizations for servers with up to 2TB of memory while future patches will aim to elevate that threshold further.
Those curious about the AMD RMPOPT optimization can see the [2]v10 patch series for this latest enablement work ahead of [3]Zen 6 .
[1] https://www.phoronix.com/news/AMD-RMPOPT-Linux
[2] https://lore.kernel.org/lkml/cover.1782841284.git.ashish.kalra@amd.com/
[3] https://www.phoronix.com/search/Zen+6
RMPOPT minimizes the overhead of Reverse Map Table checks for the hypervisor and non-SEV-SNP guests. The RMP is used for ensuring a one-to-one mapping between system physical and guest physical addresses. For AMD servers with Secure Encrypted Virtualization Secure Nested Paging (SEV-SNP) enabled, RMP checks on memory writes are performed to protect against corruption of SEV-SNP. With RMPOPT, it will allow selectively skipping said checks in 1GB region increments of memory if those regions are known to not contain any SEV-SNP guest memory. Thus a win for future AMD EPYC servers with RMPOPT support for reducing the overhead if you have a server that isn't completely saturated with confidential VMs, the system memory for non-secure guests or other uses can avoid the RMP checks.
Since February [1]AMD Linux engineers have been wiring up RMPOPT for the kernel and this week is now up to the tenth revision of the code. The v10 patches appear to be settling down and thus will hopefully soon be mainlined to the Linux kernel. It's too bad though the RMPOPT support didn't make it in time for the Linux 7.2 merge window considering this will be the stock kernel of the likes of Ubuntu 26.10 and future 26.04 LTS HWE kernel, etc.
The patches in their current form support RMPOPT optimizations for servers with up to 2TB of memory while future patches will aim to elevate that threshold further.
Those curious about the AMD RMPOPT optimization can see the [2]v10 patch series for this latest enablement work ahead of [3]Zen 6 .
[1] https://www.phoronix.com/news/AMD-RMPOPT-Linux
[2] https://lore.kernel.org/lkml/cover.1782841284.git.ashish.kalra@amd.com/
[3] https://www.phoronix.com/search/Zen+6