On Tue, 2024-07-02 at 05:17 +0000, Sandesh Patel wrote: > Hi All, > Is it possible to setup a large Windows VM (say 512 vcpus) without > adding viommu (EIM=on, IR=on)? > When I try to power such VM, the qemu process crashes with error- > ``` > qemu-kvm: ../accel/kvm/kvm-all.c:1837: kvm_irqchip_commit_routes: Assertion > `ret == 0’ failed >
Interesting. What exactly has Windows *done* in those MSI entries? That might give a clue about how to support it. > > The VM boots fine if we attach a vIOMMU but adding a vIOMMU can > potentially result in IO performance loss in guest. > I was interested to know if someone could boot a large Windows VM by > some other means like kvm-msi-ext-dest-id. I worked with Microsoft folks when I was defining the msi-ext-dest-id support, and Hyper-V does it exactly the same way. But that's on the *hypervisor* side. At the time, I don't believe Windows as a guest was planning to use it. But I actually thought Windows worked OK without being able to direct external interrupts to all vCPUs, so it didn't matter? > Overheads of viommu have been shown for example in - > https://static.sched.com/hosted_files/kvmforum2021/da/vIOMMU%20KVM%20 > Forum%202021%20-%20v4.pdf Isn't that for DMA translation though? If you give the guest an intel_iommu with dma_translation=off then it should *only* do interrupt remapping.
smime.p7s
Description: S/MIME cryptographic signature