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

Re: [Xen-devel] Is: graphics corruption with 'xen: Support Xen pv-domains using PAT." Was:Re: [BUG] Characters on the screen are broken on Linux >= 3.19 with VT-d enabled



æ äï2015-06-16 æ 11:58 +0200ïJuergen Gross æåï
> On 06/16/2015 11:32 AM, èæç wrote:
> > æ äï2015-06-16 æ 11:06 +0200ïJuergen Gross æåï
> > > On 06/16/2015 10:55 AM, Ting-Wei Lan wrote:
> > > > Juergen Gross æ èå2015å06æ16æ 12:30 åé:
> > > > > On 06/15/2015 09:03 PM, Ting-Wei Lan wrote:
> > > > > > æ äï2015-06-15 æ 14:55 -0400ïKonrad Rzeszutek Wilk æåï
> > > > > > > On Sat, Jun 13, 2015 at 12:43:14AM +0800, Ting-Wei Lan 
> > > > > > > wrote:
> > > > > > > > When using Linux >= 3.19 as the dom0 kernel, characters 
> > > > > > > > on
> > > > > > > > the
> > > > > > > > screen become
> > > > > > > > broken after the graphic driver is loaded. The commit 
> > > > > > > > that
> > > > > > > > breaks
> > > > > > > > it is
> > > > > > > > (found by git bisect):
> > > > > > > > 
> > > > > > > > 
> > > > > > > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/l
> > > > > > > > inux
> > > > > > > > .git/com
> > > > > > > > mit/?id=47591df
> > > > > > > 
> > > > > > > Lets CC Juergen
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Screenshot when the system run in single user mode:
> > > > > > > > 
> > > > > > > >     
> > > > > > > > https://bugs.freedesktop.org/attachment.cgi?id=115079
> > > > > 
> > > > > Are those messages to be expected:
> > > > > 
> > > > > (XEN) Scrubbing Free RAM on 1 nodes using 2 CPUs
> > > > > (XEN) [VT-D]DMAR:[DMA Write] Request device [0000:00:02.0] 
> > > > > fault
> > > > > addr
> > > > > b61eef000, iommu reg = ffff82c000203000
> > > > > (XEN) [VT-D]DMAR: reason 05 - PTE Write access is not set
> > > > > (XEN)
> > > > > .............................................................
> > > > > ....
> > > > > .done.
> > > > > 
> > > > > I'm not familiar with VT-D internals, but seeing these 
> > > > > messages
> > > > > for the
> > > > > video device during RAM scrubbing makes wonder if everything 
> > > > > is
> > > > > correct
> > > > > regarding the VT-D and memory setup...
> > > ...
> > > > > > > > I still remember that there was a similar problem found 
> > > > > > > > two
> > > > > > > > years
> > > > > > > > ago on the
> > > > > > > > same hardware with similar broken screen output and it 
> > > > > > > > also
> > > > > > > > crashed
> > > > > > > > after
> > > > > > > > Xorg was started, but I cannot confirm that they are 
> > > > > > > > the
> > > > > > > > same
> > > > > > > > problems. I
> > > > > > > > don't know whether error messages are simliar.
> > > > > > > > 
> > > > > > > > The old problem happens on Linux 3.7 ~ 3.10 with VT-d
> > > > > > > > enabled. It
> > > > > > > > only
> > > > > > > > happened when not using Xen, so I added 
> > > > > > > > 'intel_iommu=off'
> > > > > > > > to Linux
> > > > > > > > boot
> > > > > > > > arguments to workaround it.
> > > > > 
> > > > > Hmm, do you see any chance in finding the commit which made 
> > > > > it
> > > > > working
> > > > > again? Perhaps there was some workaround for this hardware 
> > > > > which
> > > > > is
> > > > > missing in Xen now...
> > > > 
> > > > After some tests, I found the information I provided before was
> > > > incorrect. It seems the problem happens on all Linux >= 3.7,
> > > > including
> > > > Linux 4.0.5, so the old problem was never fixed. Here are some
> > > > 'dmesg |
> > > > grep -i iommu' outputs.
> > > 
> > > So a Xen-specific error is rather improbable, correct?
> > 
> > But Linux provides 'intel_iommu=igfx_off' to workaround the 
> > problem.
> > Does Xen provide similar things?
> 
> Not that I know of. The question is whether you really need VT-d, and 
> if
> yes, why. You could still switch the iommu off for dom0 by setting
> iommu=dom0-passthrough in the Xen command line (your hardware might 
> not
> support it, though).

iommu=dom0-passthrough doesn't work on my hardware.

I found a workaround for my hardware:

diff --git a/xen/drivers/passthrough/vtd/quirks.c
b/xen/drivers/passthrough/vtd/quirks.c
index 69d29ab..b937ad0 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -74,6 +74,7 @@ int is_igd_vt_enabled_quirk(void)
 
     if ( !IS_ILK(ioh_id) )
         return 1;
+    return 0;
 
     /* integrated graphics on Intel platforms is located at 0:2.0 */
     ggc = pci_conf_read16(0, 0, IGD_DEV, 0, GGC);


This workaround is silimar to intel_iommu=igfx_off in Linux. I found
silimar code in function quirk_calpella_no_shadow_gtt in
drivers/iommu/intel-iommu.c.


I reported the graphics corruption problems on Linux >= 3.7 here:
https://bugs.freedesktop.org/show_bug.cgi?id=91127

And here is the bug link of Xen and Linux >= 3.19 (the bug we are
discussing here):
https://bugs.freedesktop.org/show_bug.cgi?id=90037

I hope we can get a real fix.


> 
> 
> Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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