我在尝试禁用 Core i7 系统中的硬件预取器时遇到错误。我按照链接中的方法进行操作如何以编程方式禁用硬件预取?
在我的系统中
grep -i msr /boot/config-$(uname -r)
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_X86_MSR=y
CONFIG_SCSI_ARCMSR=m
这是我的错误消息
根@ ./rdmsr 0x1a0
850089
[root@ ./wrmsr -p 0 0x1a0 0x850289(禁用 Core i7 中的硬件预取器)
wrmsr:pwrite:输入/输出错误
我因禁用而遇到相同的错误相邻缓存行预取器
知道如何解决这个问题吗?提前致谢 。
事实证明,0x1A0 位 9 和 19 是 Pentium 4 和其他一些旧型号的正确 MSR/位,但是0x1A4 位 0-3是适用于 Nehalem 以后的几个最新型号的 MSR 钻头。我使用 Skylake 服务器测试了 0x1A4,它也能正常工作,而 0x1A0 则不能。
快速文档在这里:披露某些英特尔处理器上的硬件预取器控制
开发人员手册的第 3 卷上有关于此和其他 MSR 的更完整的文档:(点击这里)。该文档还确认,0x1A0 位 9 和 19 在较旧的处理器型号中用于此目的,但 0x14A 用于较新的型号。
其他 MSR 的实验看起来也相当有趣(“禁用 L3 缓存”有人吗?)。只需确保在正确的处理器系列下查找 MSR!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)