MTRR survey: better X performance on systems with 3G or more RAM

Frantisek Hanzlik franta at hanzlici.cz
Mon Apr 13 17:10:46 UTC 2009


D. Hugh Redelmeier wrote:
> ==============================
>
> What I'd like to know about your system:
>
> Computer brand and model (or motherboard info):
> video controller:
> X video driver:
> RAM:
> distro:
> MTRR problem:
> Fix:
> glxgears performance change:
>

I tried it on HW:
Asus P5E-VM HDMI MB with G35 chipset
video Intel GMA X3500, with "intel" driver
4GB RAM
Fedora 10 with kernels 2.6.29.1-15.fc10.i686 and 2.6.29.1-15.fc10.i686.PAE
  (from koji).

"grep write-combining /proc/mtrr" with both kernels produce no output,
after boot with "enable_mtrr_cleanup", "grep write-combining /proc/mtrr"
gives on both kernels output:
reg06: base=0x0d0000000 ( 3328MB), size=  256MB, count=2: write-combining

And glxgears outputs:
1) kernel 2.6.29.1-15.fc10.i686 :
before:
2262 frames in 5.0 seconds = 452.307 FPS
2272 frames in 5.0 seconds = 454.345 FPS
2262 frames in 5.0 seconds = 452.399 FPS
2262 frames in 5.0 seconds = 452.339 FPS

after boot with "enable_mtrr_cleanup":
7456 frames in 5.0 seconds = 1491.186 FPS
7456 frames in 5.0 seconds = 1491.004 FPS
7468 frames in 5.0 seconds = 1493.462 FPS
7469 frames in 5.0 seconds = 1493.752 FPS
7472 frames in 5.0 seconds = 1494.248 FPS


2) 2.6.29.1-15.fc10.i686.PAE :
before:
2262 frames in 5.0 seconds = 452.368 FPS
2272 frames in 5.0 seconds = 454.229 FPS
2270 frames in 5.0 seconds = 453.898 FPS
2271 frames in 5.0 seconds = 454.167 FPS
2272 frames in 5.0 seconds = 454.309 FPS
2271 frames in 5.0 seconds = 454.163 FPS

after boot with "enable_mtrr_cleanup":
6270 frames in 5.0 seconds = 1253.902 FPS
6276 frames in 5.0 seconds = 1255.051 FPS
6276 frames in 5.0 seconds = 1255.004 FPS
6274 frames in 5.0 seconds = 1254.667 FPS
6223 frames in 5.0 seconds = 1244.498 FPS

Performance with kernel without PAE support is (with "enable_mtrr_cleanup")
about 15% better compared to kernel with PAE.


Compiling Your "mtrr-uncover" fails:
cc -Wall -g    mtrr-uncover.c   -o mtrr-uncover
mtrr-uncover.c:114: error: ‘mtrr_type’ redeclared as different kind of symbol
/usr/include/asm/mtrr.h:70: error: previous declaration of ‘mtrr_type’ was here
make: *** [mtrr-uncover] Error 1

My "/usr/include/asm/mtrr.h" at line 70 declare "mtrr_type" as (lines 68-70):
...
/* In the Intel processor's MTRR interface, the MTRR type is always held in
    an 8 bit field: */
typedef __u8 mtrr_type;
...


Regards, Franta Hanzlik




More information about the fedora-list mailing list