[i915GM] MTRR entry gets removed when restarting xorg - causes corruption on ttys
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xf86-video-intel |
Invalid
|
Medium
|
|||
linux (Ubuntu) |
Fix Released
|
High
|
Andy Whitcroft | ||
Jaunty |
Won't Fix
|
High
|
Andy Whitcroft | ||
Karmic |
Fix Released
|
High
|
Andy Whitcroft | ||
xserver-xorg-video-intel (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Jaunty |
Won't Fix
|
Critical
|
Unassigned | ||
Karmic |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
This bug is one of a set of fairly serious issues that afflict -intel users on Jaunty. The problem is that X and the kernel are miscommunicating about MTRR's, and X ends up deleting ones it shouldn't.
The user-visible effect of this is poor performance in video playback, such as very choppy flash video.
[Solution]
The solution for this issue is composed by a kernel patch and a xorg patch, both from the -intel upstream developers. Both of these patches are upstream, and currently included as of the 2.6.30 kernel and -intel 2.7.99.x in Karmic, which does not exhibit the bug. For Jaunty both of these need backported.
Kernel patch: http://
-intel patch:
http://
The kernel patch sets the MTRR correctly and the Xorg patch assures that reloading xorg doesn't wipe it.
It's not necessary to roll out both patches simultaneously, but both linux and -intel need their patches in order to make the bug be resolved.
[Test Case]
0. Verify flash video playback is relatively okay
1. Note contents of /proc/mtrr
2. Restart xorg
3. Note contents of /proc/mtrr again, and how it has changed since #1
4. See that flash video playback is laggy
[Regression Potential]
Reasonably low. This change has been reviewed and tested upstream and in karmic for quite a while, and the specific patches being proposed in this SRU have been provided for testers via a PPA and verified to solve the bug. Due to the nature of the patch, it's not possible to prove definitively that it can't cause regression, so it would be advisable to test this thoroughly in jaunty-proposed.
[Original Report]
When comparing /proc/mtrr of intrepid and current jaunty i noticed there is an entry missing.
Intrepid:
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0x40000000 (1024MB), size= 512MB: write-back, count=1
reg02: base=0x5f700000 (1527MB), size= 1MB: uncachable, count=1
reg03: base=0x5f800000 (1528MB), size= 8MB: uncachable, count=1
reg04: base=0xb0000000 (2816MB), size= 256MB: write-combining, count=1
Jaunty:
reg00: base=0x000000000 ( 0MB), size= 1024MB, count=1: write-back
reg01: base=0x040000000 ( 1024MB), size= 512MB, count=1: write-back
reg02: base=0x05f700000 ( 1527MB), size= 1MB, count=1: uncachable
reg03: base=0x05f800000 ( 1528MB), size= 8MB, count=1: uncachable
So I tried adding it back by using:
sudo -s
echo "base=0xb0000000 size=0x10000000 type=write-
I have noticed a few things after adding that entry:
- glxgears is now about twice as fast (I know its not a real benchmark ;)
- 2D Performance does not seem affected however (just testing a bit with x11perf/gtkperf)
- it fixes the corruption on the ttys (bug 312677)
I also noticed that this entry gets removed everytime xorg gets restarted.
But I'm not sure with all the recent changes in memory management if that entry should still be there or not.
-------------
lspci
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/
00:1c.2 PCI bridge: Intel Corporation 82801FB/
00:1d.0 USB Controller: Intel Corporation 82801FB/
00:1d.1 USB Controller: Intel Corporation 82801FB/
00:1d.2 USB Controller: Intel Corporation 82801FB/
00:1d.3 USB Controller: Intel Corporation 82801FB/
00:1d.7 USB Controller: Intel Corporation 82801FB/
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/
00:1e.3 Modem: Intel Corporation 82801FB/
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11)
04:00.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 03)
04:00.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller (rev 01)
04:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)
Related branches
Changed in xserver-xorg-video-intel: | |
status: | New → Confirmed |
Changed in xserver-xorg-video-intel (Ubuntu Karmic): | |
importance: | Undecided → High |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Karmic): | |
assignee: | nobody → Andy Whitcroft (apw) |
status: | New → In Progress |
Changed in linux (Ubuntu Jaunty): | |
assignee: | nobody → Andy Whitcroft (apw) |
status: | New → In Progress |
tags: | added: corruption |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
status: | Won't Fix → Triaged |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
assignee: | nobody → Bryce Harrington (bryceharrington) |
importance: | Undecided → Critical |
milestone: | none → jaunty-updates |
status: | Triaged → In Progress |
Changed in xserver-xorg-video-intel: | |
status: | Unknown → In Progress |
tags: | added: regression-release |
description: | updated |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Karmic): | |
status: | Fix Released → Fix Committed |
status: | Fix Committed → Fix Released |
Changed in xserver-xorg-video-intel: | |
status: | In Progress → Invalid |
Changed in xserver-xorg-video-intel (Ubuntu Karmic): | |
status: | Fix Released → New |
Changed in linux (Ubuntu Jaunty): | |
status: | In Progress → Won't Fix |
Changed in xserver-xorg-video-intel: | |
importance: | Unknown → Medium |
Changed in xserver-xorg-video-intel: | |
importance: | Medium → Unknown |
Changed in xserver-xorg-video-intel: | |
importance: | Unknown → Medium |
[This is an automated message]
Hi skeller,
Please attach the output of `lspci -vvnn`, and attach your /var/log/Xorg.0.log file from after reproducing this issue. If you've made any customizations to your /etc/X11/xorg.conf please attach that as well.
Please attach the output of `lspci -vvnn` too.