[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] PCI Passthrough and PV-OPS



On Thu, Mar 03, 2011 at 07:07:48PM +0000, Kinsella, Ray wrote:
> Hi Konrad,
> 
> Thanks for your response.
> My understanding of this solution is that we are essentially switching off 
> VT-d and using a software solution instead (bounce buffers?).

No.
> Am I correct?.

There are _two_ swiotlb implementation in the pvops kernel.

The baremetal is to be used under baremetal and it won't be turned
on when running DomU/Dom0.

The other, xen-swiotlb is turned on by default when dom0 boots. And
it is turned on for DomU if the user specified 'iommu=soft'.

The xen-swiotlb has two modes: bounce buffer for devices that need it (which 
nowadays is USB), and
translate the PFNs to MFNs (and vice-versa). We want to use the second 
functionality
which hooks up in the PCI DMA. You can turn on the bounce buffer for everything
if you specify 'swiotlb=force', but there is no point of doing that.

So in essence you have Xen hypervisor doing VT-D, dom0 and domU both using
the Linux DMA API wherein the Xen-SWIOTLB is hooked up. The Xen-SWIOTLB runs
in translation mode and when a device is setup using the DMA API it provides
the MFNs instead of the PFNs to the driver.

> 
> Ray Kinsella
> 
> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@xxxxxxxxxx] 
> Sent: Thursday, March 03, 2011 3:03 PM
> To: Kinsella, Ray
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] PCI Passthrough and PV-OPS
> 
> On Thu, Mar 03, 2011 at 02:25:47PM +0000, Kinsella, Ray wrote:
> > Hi all,
> > 
> > I am having a problem with Xen 4.0.1, PCI Passthrough with VT-d and Linux 
> > PV Guests, and I was wondering if anyone else had seen it.
> > In both Dom 0 and Dom U's I am using 64bit PV-OPS 2.6.32.26 Kernels from 
> > Jeremy Fitzhartridge's Git repo.
> 
> Do you have 'iommu=soft' in your guest configuration?
> 
> > 
> > I am using dual port SR-IOV NIC's to test, passing through physical 
> > functions only.
> > Passthrough appears to work, I can passthrough the NIC and it will appear 
> > in the guest with lspci.
> > The guest detects the new device and loads the driver to service the NIC, 
> > as you would expect.
> > 
> > The guest is complaining about the NIC being hung, the message "Detected Tx 
> > Unit Hang..." is appearing in the system log on the guest.
> > In the Xen log, VT-d is producing errors similar to this one;
> > 
> > (XEN) [VT-D]iommu.c:824: iommu_fault_status: Primary Pending Fault
> > (XEN) [VT-D]iommu.c:799: DMAR:[DMA Read] Request device [03:00.0] fault 
> > addr 7c584000, iommu reg = ffff82c3fff57000
> > (XEN) DMAR:[fault reason 06h] PTE Read access is not set
> > (XEN) print_vtd_entries: iommu = ffff83016fffa5f0 bdf = 3:0.0 gmfn = 7c584
> > (XEN)     root_entry = ffff83016ff38000
> > (XEN)     root_entry[3] = 14d90a001
> > (XEN)     context = ffff83014d90a000
> > (XEN)     context[0] = 102_152209005
> > (XEN)     l4 = ffff830152209000
> > (XEN)     l4_index = 0
> > (XEN)     l4[0] = 152208003
> > (XEN)     l3 = ffff830152208000
> > (XEN)     l3_index = 1
> > (XEN)     l3[1] = 0
> > (XEN)     l3[1] not present
> > 
> > My understanding of what is happening here is that page table mappings are 
> > missing from VT-d's page table, mapping machine physical addresses to my PV 
> > guest's physical addresses. I have had a look at iommu_populate_page_table 
> > and I dumped the mappings as they are being setup but couldn't see a 
> > mapping for the GPA 0x7c584000 above?
> > 
> > Has anyone else encountered this issue?
> 
> Yes. And it was fixed by running a PV guest with 'iommu=soft' as Linux kernel 
> command line argument.
> --------------------------------------------------------------
> Intel Shannon Limited
> Registered in Ireland
> Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
> Registered Number: 308263
> Business address: Dromore House, East Park, Shannon, Co. Clare
> 
> This e-mail and any attachments may contain confidential material for the 
> sole use of the intended recipient(s). Any review or distribution by others 
> is strictly prohibited. If you are not the intended recipient, please contact 
> the sender and delete all copies.
> 
> 
> 
> _______________________________________________
> 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.