4

このコマンドを発行しているとき

sudo sh -c "echo \"base=0x110000 size=0xa000 type=uncachable\" >| /proc/mtrr"

/proc/mtrr は変更されていませんが、新しいエントリが追加されることを期待しています。

次のコマンドで動作します。

sudo sh -c "echo \"base=0x110000 size=0x10000 type=uncachable\" >| /proc/mtrr"

次のエントリを追加します。

reg05: base=0x000110000 (    1MB), size=   64KB, count=1: uncachable

そのため、サイズ パラメータは何らかの方法で制限されていると思います。そのような制限はありますか?任意のメモリ領域を「キャッシュ不可」に設定することは可能ですか?

元の (起動後) /proc/mtrr は次のようになります。

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
reg04: base=0x0c0000000 ( 3072MB), size=  256MB, count=1: write-combining

Pentium M で Linux 2.6.32-41-generic #89-Ubuntu SMP を使用しています。参照: http://www.mjmwired.net/kernel/Documentation/mtrr.txt

背景: タイミング実験のために、特定のプロセスのメモリ領域の CPU キャッシュを無効にしたいと考えています。

4

0 に答える 0