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

Re: [Xen-devel] VGA Passthrough crashes machine

On Mon, Dec 19, 2011 at 03:32:51PM +0000, Anthony Wright wrote:
> On 15/12/2011 21:12, Konrad Rzeszutek Wilk wrote:
> > On Thu, Dec 15, 2011 at 03:54:00PM +0000, Anthony Wright wrote:
> >> On 14/12/2011 21:38, Konrad Rzeszutek Wilk wrote:
> >>> On Thu, Dec 08, 2011 at 12:00:07PM +0000, Anthony Wright wrote:
> >>>> I've just had my first attempt at getting VGA passthrough to work, and
> >>>> it crashed the machine. I'm trying to understand whether this is a
> >>>> problem with my hardware, configuration or a software problem.
> >>>>
> >>>> I'm running Xen 4.1.2 with Linux 3.1.2
> >>>>
> >>>>
> >>>> The CPU is an Intel Core i5-650
> >>>> http://ark.intel.com/products/43546/Intel-Core-i5-650-Processor-%284M-Cache-3_20-GHz%29
> >>> And what is your motherboard? Does it have VT-d?
> >> That was the important question... I'd missed the BIOS option to enable
> >> VT-d which was disabled by default. I enabled the BIOS option and
> >> everything worked, and it's very cool. :-)
> >>
> >> This does beg a couple of other questions though....
> >>
> >> Shouldn't I get a nice(ish) error message if I try to start a VGA
> >> passthrough VM on hardware that doesn't support it rather than crashing
> >> the machine?
> >
> > There is this http://wiki.xen.org/xenwiki/VTdHowTo which gives you a
> > nice idea of what works.
> Unfortunately I spoke a little too soon. I'm running with a Windows 7
> Pro, 32 bit iso image, to install a new version of windows into the VM.
> It seems to start nicely and I get a pulsing windows logo on the screen,
> but it never progresses to the next page, and the VM consumes a huge
> amount of CPU. If I run it purely in a VNC session, everything runs
> smoothly and quickly. We noticed that there are a lot of VT-d features
> disabled, and wondered if this might be the cause. The motherboard is an
> intel DQ57TM, and the processor is an Intel Core i5-650, I have enabled
> VT-d and FLR within the motherboard which seem to be the only relevant
> motherboard switches.

Are you enabling gfx_passthrough or using the VNC _and_ the PCI
passthrough features (which is what I was using this last week).

Something like this:

memory = 2048
name = "Windows7"
disk = [ 'phy:/dev/vg_guest/Win7_Home,hda,w']
# Remember QEMU_AUDIO_DRV=pa

Where the PCI card is:
01:00.0 VGA compatible controller: ATI Technologies Inc RV770 [Radeon HD 4870]
01:00.1 Audio device: ATI Technologies Inc HD48x0 audio

Or are you passing in an Nvidia card?

(The motherboard I am using is an AMD one).
> Inside xl dmesg all the additional VT-d features are not enabled (Snoop
> Control, Dom0 DMA Passthrough, Queued Invalidation, Interrupt Remapping,
> Shared EPT tables) and I wondered if this was the problem. I tried

If it was I would think you would get tons of warnings from the Xen
hypervisor about failed mappings and such. [edit: and it seems you are
getting faults]

> starting with iommu=1 on the xen command line and without it. The output
> from xl dmesg is very similar and the VM behaves the same in both cases,
> but I get a number of iommu.c errors messages when the 'iommu=1'
> parameter is present. In both cases Xen also outputs a number of mm.c
> errors which is similar to a problem I reported a while ago. I have
> attach xl dmesg logs from both cases.

You mean these:

> (XEN) [VT-D]iommu.c:853: iommu_fault_status: Fault Overflow
> (XEN) [VT-D]iommu.c:856: iommu_fault_status: Primary Pending Fault
> (XEN) [VT-D]iommu.c:831: DMAR:[DMA Write] Request device [00:02.0] fault addr 
> 400000000, iommu reg = fff16000
> (XEN) DMAR:[fault reason 05h] PTE Write access is not set

Hm, and 0000:00:02.0 is your VGA card right?

These ones you can ignore:
> (XEN) mm.c:907:d0 Error getting mfn 2409c (pfn 55555555) from L1 entry 
> 000000002409c023 for l1e_owner=0, pg_owner=0
> (XEN) mm.c:907:d0 Error getting mfn 2409d (pfn 55555555) from L1 entry 
> 000000002409d023 for l1e_owner=0, pg_owner=0
> (XEN) mm.c:907:d0 Error getting mfn 2409e (pfn 55555555) from L1 entry 
> 000000002409e023 for l1e_owner=0, pg_owner=0
> (XEN) mm.c:907:d0 Error getting mfn 2409f (pfn 55555555) from L1 entry 
> 000000002409f023 for l1e_owner=0, pg_owner=0

Xen-devel mailing list



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