Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Setting MSR 0x1AD (turbo ratio limits) has no effect on Sandy Bridge

khenglish
Beginner
2,492 Views

Setting MSR 0x1AD in windows does not change the maximum turbo ratio limit as http://www.intel.com/content/www/us/en/processors/xeon/intel64-ia32-architectures-manual-vol3.html?wapkw=software%20developer%27s%20manual says it should, even if MSR_PLATFORM_INFO bit 28 is high. The processor does not even respond to lowering the turbo ratio limit. This has proven true numerous times on multiple Sandy Bridge based systems, including PCH P67 systems.

It seems that the CPU is not bothering to read the MSR and set itself to the new value. Does anyone have an idea on what must be done to force the CPU to change its maximum turbo ratio limit while the system is in Windows or another OS?

Here are some things I have tried:

I have set the turbo ratio limit MSR, then rebooted, but the register would get reset. I have set the MSR, put computer to sleep, and resumed, but the register would be reset. I have booted with turbo disabled, set the MSR, then enabled turbo, but there was no change in the turbo limit.
0 Kudos
4 Replies
Patrick_F_Intel1
Employee
2,492 Views
Hello khenglish,
I'm sorry but I didn'tnoticethis question until today.
Is this still something you are interested in?
If so, I will have to check on this with other people.
Is (MSR 0xce) msr_platform_info[bit 28] == 0 after booting? If so, you can't change msr_turbo_ratio_limit (MSR 0x1ad)
Afteryou write to MSR 0x1ad, if you readthe MSRback, do you get the new value?
Pat
0 Kudos
terabytes
Beginner
2,492 Views
MSR 0x1AD can be changed and keeps the new values. i.e. on an unlocked processor with EAX=0x28282828 from BIOS post, changing this to 0x26262626 and being able to read that set value from 0x1AD still results in turbo up to 40 and not 38 as set.

Happy New Year. :)
0 Kudos
Patrick_F_Intel1
Employee
2,492 Views
Thanks terabytes,
Does your system show (MSR 0xce) msr_platform_info[bit 28] == 0 after booting?
And... just checking... after booting the multiplier is 40 and, when you change the multiplier to 38, the max turbo frequency still shows up as 4.0 GHz (40 * 100 MHz) on SNB?
If so, how do you measure the frequency?
Thanks,
Pat
0 Kudos
terabytes
Beginner
2,492 Views
No, Programmable Ratio Limit for Turbo Mode bit 28 of MSR 0xce is 1

Yes. I usually use my own software using MSR performance counters to measure turbo ratio / frequency but other 3rd party softwares give the same results and of course values are reflected in MSR 0x198 as well.

Here is an example with 3rd party SW HWinfo32. BIOS turbo settings were 0x2e2f3032 for 0x1AD then the MSR changed in the OS to 0x26272829. You can see the new setting reported by HWinfo32 as max turbo 41 but when running a single thread turbo still boosts to 50. BCLK is set to 100.00MHz

MSR 0x1AD
0 Kudos
Reply