Linux 5.18 KVM Prepares For Intel IPI Virtualization, Larger AMD VMs
KVM for Linux on the x86_64 side includes various Microsoft Hyper-V improvements, preparations for Intel IPI virtualization, support for AMD AVIC support on systems with physical APIC IDs above 255, improvements to the zapping of page tables, and other enhancements.
Intel has been working on IPI virtualization support for KVM the past year with it being a new feature of Intel VT-x. IPI virtualization aims to eliminate VM-exits when issuing IPI (inter-processor interrupts) on a source vCPU.
The AMD AVIC support for systems with physical APIC IDs above 255 is landing ahead of AMD's next-generation Zen 4 processors. While right now with Milan there can be up to 256 threads in a dual socket server, with EPYC Genoa will be up to 384 treads in a dual socket server or even 512 threads for a dual socket EPYC Bergamo server based on AMD's public information. Thus AMD has been making preparations to the Linux kernel for supporting VMs with more than 255 vCPUs. AMD will now be supporting up to 511 vCPUs with Linux's KVM.
Over on the Arm side there are scalability improvements for the MMU lock, a new VMID allocator, better support for PMUs in heterogeneous systems, PSCI 1.1 support, reducing the overhead of VM exit when no interrupt is pending, and other improvements.
Over on the RISC-V side is support for the RISC-V SBI v0.3 extension. SBI is for the Supervisor Binary Interface.
See the full list of Kernel-based Virtual Machine changes for Linux 5.18 via this pull request that has already been merged to mainline.