mtrr(write-combining)

何もしていない状態
$ cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 128MB: write-back, count=1
reg01: base=0x08000000 ( 128MB), size=  64MB: write-back, count=1
$ xengine
    
xengineの平均値は1000程度。


設定数値を調べる
$ startx >& startxlog
    
startxlogを見て
(--) SVGA: PCI: S3 ViRGE/VX rev 2, Memory @ 0xe0000000
(--) SVGA: S3V: ViRGE/VX rev 2, Linear FB @ 0xe0000000
(**) SVGA: videoram:  4096k
    
ここより、baseが0xe0000000であり、sizeが4M(0x400000)であることが分かる。


設定をする
$ su
# echo "base=0xe0000000 size=0x400000 type=write-combining" > /proc/mtrr
# exit
$ cat /proc/mtrr 
reg00: base=0x00000000 (   0MB), size= 128MB: write-back, count=1
reg01: base=0x08000000 ( 128MB), size=  64MB: write-back, count=1
reg02: base=0xe0000000 (3584MB), size=   4MB: write-combining, count=1
$ xengine
    
xengineの平均値は1700程度。mtrr設定前の約1.7倍!

Last modified: Mon Sep 11 21:58:21 JST 2006
戻る