On 10/30/25 02:12, [email protected] wrote: > Hello Xen development community, > > I wanted to discuss the limitations that I have faced while running Xen on > KVM on Arm64 machines. I hope I am using the right mailing list. > > The biggest limitation is the costly emulation of instruction tlbi > vmalls12e1is in KVM. The cost is exponentially proportional to the IPA size > exposed by KVM for VM hosting Xen. If I reduce the IPA size to 40-bits in > KVM, then this issue is not much observable but with the IPA size of 48-bits, > it is 256x more costly than the former one. Xen uses this instruction too > frequently and this instruction is trapped and emulated by KVM, and > performance is not as good as on bare-metal hardware. With 48-bit IPA, it can > take up to 200 minutes for domu creation with just 128M RAM. I have > identified two places in Xen which are problematic w.r.t the usage of this > instruction and hoping to reduce the frequency of this instruction or use a > more relevant TLBI instruction instead of invalidating whole stage-1 and > stage-2 translations.
Why the exponential scaling? It should be possible for KVM to fall back to a full TLB flush, which should be O(1) in the size of the address space. It might have terrible constant factors though. -- Sincerely, Demi Marie Obenour (she/her/hers)
OpenPGP_0xB288B55FFF9C22C1.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
