Hi, all. I''m running the latest Xen unstable with Debian Squeeze as DomU in HVM mode. I configured two nics: vif = [''bridge=br0,model=virtio'', ''type=ioemu,bridge=br0,model=rtl8139''] These two cards can be successfully configured in DomU. But they fail to communicate with host bridge. I can see packets coming out their taps, but no packets are going back into DomU. Stefano suggest I look into /proc/interrupts. It shows: 11 0 IO-APIC-fasteoi eth0 48 0 PCI-MSI-edge virtio0-config 49 0 PCI-MSI-edge virtio0-input 50 0 PCI-MSI-edge virtio0-output It seems that there are no interrupts for those nic devices. I''m pretty sure that QEMU has pushed the data back and set interrupts (through msix_notify / qemu_set_irq). Has anyone encountered this problem before? -- Best regards Wei Liu Twitter: @iliuw Site: http://liuw.name _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, May 13, 2011 at 11:14:47AM +0800, Wei Liu wrote:> Hi, all. > > I''m running the latest Xen unstable with Debian Squeeze as DomU in HVM mode. > > I configured two nics: > > vif = [''bridge=br0,model=virtio'', ''type=ioemu,bridge=br0,model=rtl8139''] > > These two cards can be successfully configured in DomU. But they fail > to communicate with host bridge. > > I can see packets coming out their taps, but no packets are going back > into DomU. > > Stefano suggest I look into /proc/interrupts. It shows: > > 11 0 IO-APIC-fasteoi eth0 > 48 0 PCI-MSI-edge virtio0-config > 49 0 PCI-MSI-edge virtio0-input > 50 0 PCI-MSI-edge virtio0-output > > It seems that there are no interrupts for those nic devices. I''m > pretty sure that QEMU has pushed the data back and set interrupts > (through msix_notify / qemu_set_irq). > > Has anyone encountered this problem before?I haven''t. But it looks like the NIC isn''t beeing interrupted - which implies that QEMU hasn''t sent the IRQ to the DomU to tell it: ''hey you got data''. It might be worth looking in QEMU and see under which circumstances it sends interrupts. And whether the mechanism for sending interrupts is KVM specific instead of being more generic (or able to use the Xen mechanism).> > -- > Best regards > Wei Liu > Twitter: @iliuw > Site: http://liuw.name > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, 13 May 2011, Konrad Rzeszutek Wilk wrote:> On Fri, May 13, 2011 at 11:14:47AM +0800, Wei Liu wrote: > > Hi, all. > > > > I''m running the latest Xen unstable with Debian Squeeze as DomU in HVM mode. > > > > I configured two nics: > > > > vif = [''bridge=br0,model=virtio'', ''type=ioemu,bridge=br0,model=rtl8139''] > > > > These two cards can be successfully configured in DomU. But they fail > > to communicate with host bridge. > > > > I can see packets coming out their taps, but no packets are going back > > into DomU. > > > > Stefano suggest I look into /proc/interrupts. It shows: > > > > 11 0 IO-APIC-fasteoi eth0 > > 48 0 PCI-MSI-edge virtio0-config > > 49 0 PCI-MSI-edge virtio0-input > > 50 0 PCI-MSI-edge virtio0-output > > > > It seems that there are no interrupts for those nic devices. I''m > > pretty sure that QEMU has pushed the data back and set interrupts > > (through msix_notify / qemu_set_irq). > > > > Has anyone encountered this problem before? > > I haven''t. But it looks like the NIC isn''t beeing interrupted - which > implies that QEMU hasn''t sent the IRQ to the DomU to tell it: ''hey > you got data''. It might be worth looking in QEMU and see under which > circumstances it sends interrupts. And whether the mechanism for sending > interrupts is KVM specific instead of being more generic (or able to > use the Xen mechanism).Indeed. If I am not mistaked the function that should be called within qemu to actually inject the interrupt is xen_piix3_set_irq and should be called bt qemu_set_irq. It is also worth making sure you are using the very last Xen from xen-unstable, with the two patches I sent to the list in the last two days (they fix interrupt injection issues to HVM domains): http://marc.info/?l=xen-devel&m=130512868904804 http://marc.info/?l=xen-devel&m=130521059427303 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, May 13, 2011 at 9:49 PM, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:> > Indeed. If I am not mistaked the function that should be called within > qemu to actually inject the interrupt is xen_piix3_set_irq and should be > called bt qemu_set_irq. > > It is also worth making sure you are using the very last Xen from > xen-unstable, with the two patches I sent to the list in the last two > days (they fix interrupt injection issues to HVM domains): > > http://marc.info/?l=xen-devel&m=130512868904804 > http://marc.info/?l=xen-devel&m=130521059427303 >I applied your patches, but things are just the same. Working on that now. -- Best regards Wei Liu Twitter: @iliuw Site: http://liuw.name _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel