MTRRs not working in 2.6 linux kernels?

Dave Jones davej at redhat.com
Mon Oct 4 10:40:39 PDT 2004


On Sun, Oct 03, 2004 at 10:33:28PM -0400, Jonathan Thambidurai wrote:
 > When I try to use the application tvtime under Xorg 6.8.1 with Linux
 > kernel 2.6.7, I get very choppy framerates; tvtime indicates that it is
 > only getting about 50 MB/s for blitting to the screen.  With the same
 > version of Xorg and Linux kernel 2.4.22, I get smooth play, and tvtime
 > indicates that it gets about 150 MB/s for blitting to screen.  I made
 > sure DRI wasn't playing a role in this by rmmod'ing the agpgart module
 > before starting X.  
 > 
 > Of note is the difference in /proc/mtrr between 2.6 and 2.4
 > kernels:
 > 
 > in 2.4, it contains only
 > 
 > reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
 > reg01: base=0x0ff80000 ( 255MB), size= 512KB: uncachable, count=1
 > 
 > while in 2.6 it contains
 > 
 > reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
 > reg01: base=0x0ff80000 ( 255MB), size= 512KB: uncachable, count=1
 > reg02: base=0xe8000000 (3712MB), size=   2MB: write-combining, count=1

VesaFB creates an MTRR in 2.6. The problem is it only creates one
big enough to cover x resolution * y resolution * depth, which is
nearly always less than the size of the video ram.

 > Perhaps this is a kernel issue and should be posted to the kernel list? 
 > Any help would be appreciated.

Until someone either removes that from teh kernel, or fixes it to size
ram properly, you can boot with a vesafb=nomtrr option iirc.

		Dave




More information about the xorg mailing list