WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: HVM DomU, msi_translate=0, MSI/MSI-X PCI passthrough fai

To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: [Xen-devel] Re: HVM DomU, msi_translate=0, MSI/MSI-X PCI passthrough fails.
From: Mark Adams <mark@xxxxxxxxxxxxxxxxxx>
Date: Wed, 8 Dec 2010 12:58:55 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>, yunhong.jiang@xxxxxxxxx, "JBeulich@xxxxxxxxxx" <JBeulich@xxxxxxxxxx>, yuan.b.liu@xxxxxxxxx, anthony.perard@xxxxxxxxxx, "xen-users@xxxxxxxxxxxxxxxxxxx" <xen-users@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 08 Dec 2010 05:00:36 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20101129163635.GA20417@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20101112222215.GC26189@xxxxxxxxxxxx> <3A9FD6B4-B741-4BAA-90C9-E3CA1143EA7A@xxxxxxxxxxxxxxxxxx> <20101115171543.GB7414@xxxxxxxxxxxx> <20101115172309.GA30777@xxxxxxxxxxxxxxxxxx> <20101115174413.GA8227@xxxxxxxxxxxx> <20101115175626.GA31636@xxxxxxxxxxxxxxxxxx> <20101124175926.GA17565@xxxxxxxxxxxxxxxxxx> <20101124202842.GA28222@xxxxxxxxxxxx> <20101126111520.GA17221@xxxxxxxxxxxxxxxxxx> <20101129163635.GA20417@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008-05-17)
Hi - Apologies to top post this, but after alot of testing, I believe
there must be an issue with IRQ's going missing between domU and dom0.
Unfortunately I have no data to prove this!

With msitranslate=0 as detailed below, and pci=nomsi in the guest kernel
grub config, all 3 NIC's appear OK in the domU however I still had
issues with the red-fone ISDN box. The interrupts were showing correctly
(2000/s) in the domU but communication to the device via the NIC was
still being interrupted (as shown in the asterisk console)Note that to
get the igb driver to allow this many interrupts, the
InterruptThrottleRate was set to 0. The same config (red-fone box,
asterisk etc) works fine with a physical server.

There is also the additional issue that I could not get the passthrough
NIC's to show correctly when I also had a bridge setup.

Throughout my testing however, I could not get the machine to crash.

Not sure where to go with this one. For now we are keeping our VoIP
servers physical when ISDN connections are required.

Regards,
Mark

On Mon, Nov 29, 2010 at 11:36:35AM -0500, Konrad Rzeszutek Wilk wrote:
> > 
> > In my new test setup, I have seen some strange behaviour. 1 of the HVM's
> > (with identical config in dom0 and domU) suddenly would not allow the
> > igb driver to be loaded in domU, even though the device was visible in
> 
> Let's create a new thread for this other issue.
> 
> > lspci. Shutting the machine down, removing the power cord, waiting 5
> > seconds then plugging it in again corrected that issue - Is this
> > possibly a motherboard bug? I have also disabled the SR-IOV
> > functionality in the BIOS incase this is causing any issues.
> > 
> > In addition, to try to correct the MSI issue noted above, I have changed
> > my pci= line to the following:
> > 
> > pci=[ '08:00.0,msitranslate=0', '08:00.1,msitranslate=0' ]
> 
> With the msi_translate=1 turned on the DomU HVM guests did work, right?
> 
> > 
> > This has stopped the "already in use on device" log, and the devices
> > appear to show correctly in the domU. Is it safe to disable
> > msitranslate? as I understand it, its for allowing multifunction devices
> > to be seen as such in domU. Is that correct?
> > 
> > I haven't been able to reproduce the dropped raid issue yet, but I am
> > awaiting delivery of the Red-Fone boxes (ISDN VoIP) which seem to cause
> > this due to their very high interrupt usage (2000 per second).
> 
> OK.
> > 
> > In the mean time, I can see the following in the qemu-dm logs now with
> > the msitranslate=0 enabled. Is it anything to worry about?
> 
> Well, the  "Error" ones are pretty bad, thought I am having a hard time
> understanding what it means. Lets copy some of the QEMU folks on this.
> 
> > pt_pci_write_config: Warning: Guest attempt to set address to unused Base 
> > Address Register. [00:05.0][Offset:14h][Length:4]
> > pt_ioport_map: e_phys=ffff pio_base=e880 len=32 index=2 first_map=0
> > pt_ioport_map: e_phys=c220 pio_base=e880 len=32 index=2 first_map=0
> > pt_pci_write_config: Warning: Guest attempt to set address to unused Base 
> > Address Register. [00:06.0][Offset:14h][Length:4]
> > pt_ioport_map: e_phys=ffff pio_base=ec00 len=32 index=2 first_map=0
> > pt_ioport_map: e_phys=c240 pio_base=ec00 len=32 index=2 first_map=0
> > pt_msix_update_one: Update msix entry 0 with pirq 4f gvec 59
> > pt_msix_update_one: Update msix entry 1 with pirq 4e gvec 61
> > pt_msix_update_one: Update msix entry 2 with pirq 4d gvec 69
> > pt_msix_update_one: Update msix entry 3 with pirq 4c gvec 71
> > pt_msix_update_one: Update msix entry 4 with pirq 4b gvec 79
> > pci_msix_writel: Error: Can't update msix entry 0 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 0 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 0 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 1 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 1 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 1 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 2 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 2 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 2 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 3 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 3 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 3 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 4 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 4 since MSI-X is already 
> > function.
> > pci_msix_writel: Error: Can't update msix entry 4 since MSI-X is already 
> > function.
> > 
> > > 
> > > Not yet. Need to serial log of the Linux kernel and the Xen hypervisor 
> > > when your
> > > machine is toast. I mentioned in the previous email the key sequences - 
> > > look on Google
> > > on how to pass in SysRQ if you are using a serial concentrator.
> > 
> > I will do this when I can get the machine to crash.
> > 
> > Best Regards,
> > Mark
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel