通过/ proc / mtrr禁用缓存

时间:2012-05-31 16:34:29

标签: linux cpu-cache

当我发出此命令时

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

所以我假设size参数在某些方面受到限制。有这样的限制吗?是否可以将任意内存区域设置为“无法访问”?

我原来的(启动后)/ 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缓存。

0 个答案:

没有答案