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

[Xen-devel] [BUG] Characters on the screen are broken on Linux >= 3.19 with VT-d enabled


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Ting-Wei Lan <lantw44@xxxxxxxxx>
  • Date: Sat, 13 Jun 2015 00:43:14 +0800
  • Delivery-date: Mon, 15 Jun 2015 15:10:35 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

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/linux.git/commit/?id=47591df


Screenshot when the system run in single user mode:

  https://bugs.freedesktop.org/attachment.cgi?id=115079


If it continues booting, the dom0 can crash after GDM tries to start Xorg. Some messages are showed when Xorg is running:

  [   80.636446] [drm] stuck on render ring
[ 80.640041] [drm] GPU HANG: ecode 5:0:0x7fbfff08, in Xwayland [2112], reason: Ring hung, action: reset


I cannot run 'dmesg' and 'xl dmesg' because the dom0 is unusable after Xorg runs, so I attach the serial console log instead. It was tested on Xen 4.5.1-rc2 and Linux 4.1-rc7:

  https://gist.github.com/lantw44/715160f1a53967a1627b


This problem was reported to DRM/Intel, but they think it is not their bug. I also reported it to kernel bugzilla, but there is no response:

  https://bugs.freedesktop.org/show_bug.cgi?id=90037
  https://bugzilla.kernel.org/show_bug.cgi?id=97421


This problem only happens when VT-d is enabled. If I add 'iommu=off' to Xen boot arguments, there will be no problem. It seems it only happens on specific hardware. Two machines are listed below, one with the problem and one without the problem.


The machine that has this problem:

(Software)
Xen 4.4.2, 4.5.0, 4.5.1-rc2
Linux 3.19.2, 3.19.3, 3.19.4, 4.0, 4.0.3, 4.0.4, 4.1-rc7

(CPU and GPU)
Intel Core i5 CPU 650 @ 3.20GHz
Intel Ironlake Desktop

(Motherboard)
ASUSTeK Computer INC. P7H55D-M EVO

(lspci output)
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12) 00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 12) 00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12) 00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06) 00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06) 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06) 00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06) 00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06) 00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 06) 00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06) 00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06) 00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06) 00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 06) 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06) 00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06) 01:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03) 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03) 03:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II / PATA Controller (rev b2) 05:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6315 Series Firewire Controller 06:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) 3f:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02) 3f:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)
3f:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)
3f:02.1 Host bridge: Intel Corporation 1st Generation Core i3/5/7 Processor QPI Physical 0 (rev 02) 3f:02.2 Host bridge: Intel Corporation 1st Generation Core i3/5/7 Processor Reserved (rev 02) 3f:02.3 Host bridge: Intel Corporation 1st Generation Core i3/5/7 Processor Reserved (rev 02)


The machine that works fine:

(Software)
Xen 4.4.1, 4.4.2
Linux 3.19.1, 3.19.2, 3.19.3, 3.19.7, 4.0.4

(CPU and GPU)
Intel Core i7-2600 CPU @ 3.40GHz
Intel Sandybridge Desktop

(Motherboard)
ASUSTeK Computer INC. P8Z68-M PRO

(lspci output)
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5) 00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 82801 PCI Bridge (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5) 00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation Z68 Express Chipset Family LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05) 01:00.0 VGA compatible controller: NVIDIA Corporation G96 [GeForce 9400 GT] (rev a1) 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) 04:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01) 06:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01) 07:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller


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.

The problem I report here happens on Linux >= 3.19 with VT-d enabled. It only happens when using Xen, so I add 'iommu=off' to Xen boot arguments to workaround it.

_______________________________________________
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®.