无法在Core i7中禁用硬件预取器 [英] Unable to disable Hardware prefetcher in Core i7

查看:248
本文介绍了无法在Core i7中禁用硬件预取器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试在Core i7系统中禁用硬件预取器时出现错误.我正在按照链接如何以编程方式禁用硬件预取的方法?

I am getting Error while trying to disable Hardware prefetcher in my Core i7 system. I am following the method as per the link How do I programmatically disable hardware prefetching?

在我的系统中

grep -i msr/boot/config-$(uname -r)

grep -i msr /boot/config-$(uname -r)

CONFIG_X86_DEBUGCTLMSR = y

CONFIG_X86_DEBUGCTLMSR=y

CONFIG_X86_MSR = y

CONFIG_X86_MSR=y

CONFIG_SCSI_ARCMSR = m

CONFIG_SCSI_ARCMSR=m

这是我的错误消息

root @ ./rdmsr 0x1a0

root@ ./rdmsr 0x1a0

850089

[root @ ./wrmsr -p 0 0x1a0 0x850289(以在Core i7中禁用硬件预取器)

[root@ ./wrmsr -p 0 0x1a0 0x850289 (to disable hardware prefetcher in Core i7)

wrmsr:pwrite:输入/输出错误

禁用相邻缓存行预取器

任何想法如何解决此问题?预先感谢.

Any idea how to resolve this problem ? Thanks in advance .

推荐答案

原来0x1A0的位9和19是奔腾4和其他一些较旧型号的正确MSR/位,但 0x1A4的位0-3 是Nehalem以后几种最新型号的正确MSR位.我在Skylake服务器上测试了0x1A4,它也能正常工作,而0x1A0却没有.

It turns out 0x1A0 bits 9 and 19 is the right MSR/bits for Pentium 4 and some other older models, but 0x1A4 bits 0-3 are the right MSR bits for the several recent models from Nehalem onwards. I tested 0x1A4 with a Skylake server and it worked as well, whereas 0x1A0 did not.

此处的快速文档:开发人员手册的vol3上有关于此MSR和其他MSR的更完整的文档:

There is more complete documentation about this and other MSRs on vol3 of the developer's manual: (click here). The document also confirms that 0x1A0 bits 9 and 19 were used for this in older processor models but 0x14A is used for more recent models.

另一个MSR看起来也很有趣(禁用L3缓存"的人吗?).只需确保在正确的处理器系列下寻找MSR!

The other MSR's look fairly interesting for experimenting too ('disable L3 cache' anyone?). Just make sure to look for the MSRs under the right processor family!

这篇关于无法在Core i7中禁用硬件预取器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆