RE: pci-stub error and MSI-X for KVM guest

Fischer, Anna
2009-12-21T19:34:38Z

> Subject: Re: pci-stub error and MSI-X for KVM guest
>
> * Fischer, Anna (anna.fischer@hp.com) wrote:
> > I am running Fedora Core 12 with a 2.6.31 kernel. I use the Intel
> > 82576 SR-IOV network card and want to assign its Virtual Functions
> (VFs)
> > to separate KVM guests. My guests also run Fedora Core 12 with a
> 2.6.31
> > kernel. I use the latest igb driver in the host OS and load it with 2
> > VFs activated. Then I assign those to my KVM guests. I use virt-
> manager
> > to do this which then takes care of configuring pci-stub.
>
> By 2.6.31 are you referring to the stock Fedora 12 kernel package?

Yes.

> > This works fine in principle and I can see the PCI device in the
> > guest under lspci. However, the 82576 VF driver requires the OS
> > to support MSI-X. My Fedora installation is configured with MSI-X,
> > e.g. CONFIG_PCI_MSI is 'y'. When I load the driver it tells me it
> cannot
> > initialize MSI-X for the device, and under /proc/interrupts I can see
> > that MSI-X does not seem to work. Is this a KVM/QEMU limitation? It
> works
> > for me when running the VF driver under a non-virtualized Linux system.
>
> No, this should work fine. QEMU/KVM supports MSI-X to guest as well as
> VFs.

Actually, I just got this to work. However, it only works if I call qemu-kvm from the command line, while it doesn't work when I start the guest via the virt-manager. So this seems to be an issue with Fedora's virt-manager rather than with KVM/QEMU. If I call qemu-kvm from the command line then I get the pci-stub messages saying 'irq xx for MSI/MSI-x' when the guest boots up and the VF device works just fine inside the guest. When I start the guest using virt-manager then I don't see any of these irq allocation messages from pci-stub. Any idea what the problem could be here?

> > Also, when I do an lspci on the KVM guest, that is fine, but when I
> > do an lspci -v then the guest crashes down. In the host OS under dmesg
> > I can see this:
> >
> > pci-stub 0000:03:10.0: restoring config space at offset 0x1 (was
> 0x100000, writing 0x100004)
> >
> > Is this a known issue? My qemu-kvm version is 2:0.11.0.
>
> No, I've not seen the crash before. What do you mean "the guest crashes
> down"?

So this also only happens when starting the guest using virt-manager. It works fine when starting qemu-kvm from the command line. This is weird as I call it with the same parameters as I can see virt-manager uses under 'ps -ef | grep qemu'. The guest crashes down means that the QEMU process is terminated. I don't see anything in the logs. It just disappears.

> This looks like a Fedora specific version (rpm version). Can you verify
> this is from Fedora packages vs. upstream source? If it's Fedora,
> would be useful to open a bug there.

Yes, I am using KVM/QEMU which ships with the Fedora Core 12 distribution.

Thanks for your help,
Anna