
The Kernel-based Virtual Machine "KVM" updates for Linux 6.19 include preparations by AMD for handling up to a possible 4,096 virtual CPUs for VMs.
It was just a few years ago that AMD Linux engineers were working on x2AVIC support for handling more than 255 vCPUs. Now with Linux 6.19 they have landed their x2AVIC changes for supporting up to 4,096 vCPUs.
With new AMD platforms the x2AVIC support is improved for supporting up to 4,096 virtual CPUs. The exact platforms with this capability aren’t mentioned as the L…

The Kernel-based Virtual Machine "KVM" updates for Linux 6.19 include preparations by AMD for handling up to a possible 4,096 virtual CPUs for VMs.
It was just a few years ago that AMD Linux engineers were working on x2AVIC support for handling more than 255 vCPUs. Now with Linux 6.19 they have landed their x2AVIC changes for supporting up to 4,096 vCPUs.
With new AMD platforms the x2AVIC support is improved for supporting up to 4,096 virtual CPUs. The exact platforms with this capability aren’t mentioned as the Linux patches are just checking the CPUID_Fn8000000A_ECX[x2AVIC_EXT] feature bit. The limit up to now was 512 vCPUs where as this "extended AVIC" (x2AVIC_EXT) takes it to a possible 4,096 vCPU count.
That AVIC support for addressing up to 4096 vCPUs was merged as part of the KVM feature changes for the Linux 6.19 merge window. The KVM pull also include on the AMD side various SVM fixes and adding KVM_X86_SNP_POLICY_BITS to advertise SEV Secure Nested Paging (SNP) policy bits to user-space.
Over on the Intel side, the KVM pull overhauls the TDX locking code to address various "weird" and "ugly" code from prior kernels and addressing systemic races.
KVM also added emulator support for AVX MOV instructions, cleaning up KVM handling of MMIO Stale Data and L1TF mitigations, and various other improvements.