Many KVM Updates Merged For Linux 6.15

This morning’s Intel TDX update reminded me that I still hadn’t gotten around to digging into the Kernel-based Virtual Machine (KVM) changes merged last week for the ongoing Linux 6.15 kernel merge window. Here is a look at the KVM changes this cycle that continue to be particularly heavy on Intel and AMD virtualization improvements.

The KVM pull for Linux 6.15 isn’t the most exciting feature-wise of recent kernels but there still are some good changes worth calling out.

KVM on x86 added support for aging of Shadow Page Table Entries (SPTEs) without holding the MMU lock. This allows for greater scalability and avoids potentially stalling vCPUs. KVM on x86 also fixes a number of nested emulation bugs, improved VM teardown code, common secure TSC infrastructure that can be shared between AMD SEV-SNP and Intel TDX, and optimized KVM handling of Xen MSR writes.

AMD EPYC CPU

AMD-specific KVM work for Linux 6.15 includes better handling of the PSP driver, avoiding excessive fragmentation within encrypted memory regions, support for Idle HLT interception, and other fixes.

The Intel-specific KVM code for Linux 6.15 brings several bug fixes, including preparation work for FRED virtualization support around Flexible Return Event Delivery.

KVM on ARM brings nested virtualization support for VGICv3, the ARM Virtual Generic Interrupt Controller v3.

LoongArch meanwhile added perf events support for guest virtual machines.

More details on the initial KVM virtualization changes merged for Linux 6.15 via this pull.