Disabling Turbo Boost

Disabling Turbo Boost

As per the recommendation in this topic (http://software.intel.com/en-us/forums/topic/385319), I have used this sequence to disable turbo boost: 

"section 14.3.2.2 OS Control of Opportunistic Processor Performance Operation (Vol. 3B  page 14-5  of the May 2012 version)

System software can temporarily disengage opportunistic processor performance operation by setting bit 32 of the IA32_PERF_CTL MSR (0199H), using a readmodify-write sequence on the MSR. The opportunistic processor performance operation can be re-engaged by clearing bit 32 in IA32_PERF_CTL MSR, using a readmodify-write sequence. The DISENAGE bit in IA32_PERF_CTL is not reflected in bit 32 of the IA32_PERF_STATUS MSR (0198H), and it is not shared between logical processors in a physical package."

Source: Patrick Fay, Intel

However, my Intel Xeon X5650 (http://ark.intel.com/products/47922/Intel-Xeon-Processor-X5650-12M-Cache...) is still operating at its maximum turbo frequency of 3.06 GHz. Is there something else that I need to do to disable turboboost?

9 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello Samuel,

Is bit 32 of MSR 0x199 staying set? That is, if you read the MSR after you set the bit, do you see that the bit is still set? And does it stay set?

It is possible that the OS is overwriting the MSR (and re-enabling turbo-mode).

Is this windows or linux? On linux you can control the frequency with the /sys/devices/system/cpu/cpu*/cpufreq/ interface. Let me know if you interested in this.

Pat

Hi Pat,

what exactly does "opportunistic processor performance" mean?

Thanks in advance.

Hello Illyapolak,

"opportunistic processor performance" refers to the strategy of trying to find opportunities to improve the performance while staying within a power, current and temperature envelope. For example, a multi-core processor is designed to not exceed some maximum power usage when all the cores are busy. Much of the time however the user might be running just 1 or a few  threads so there is the opportunity to increase the performance on 1 core and still stay within the power and thermal restrictions. So the processor boosts the frequency of 1 core, boosts the performance of the 1 thread and stays within the power/thermal limits.

There is a brief discussion at http://www.intel.com/content/www/us/en/architecture-and-technology/turbo-boost/turbo-boost-technology.html

Pat

Thank you Pat for detailed answer.It always puzzled me what "oportunistic" really means.

>>However, my Intel Xeon X5650 (http://ark.intel.com/products/47922/Intel-Xeon-Processor-X5650-12M-Cache...) is still operating
>>at its maximum turbo frequency of 3.06 GHz. Is there something else that I need to do to disable turboboost?

Could you repeat your tests when you computer is running on a battery?

Update: It is Not clear if you're using a Desktop or a Notebook. Please disregard the question if it is the Desktop computer.

@Sergey: It is a Desktop, running Mac OS X 10.8. I am going to try disabling the apple power management kernel extensions, which may be overwriting the value. I will post solution if this works.

I>>>t is possible that the OS is overwriting the MSR (and re-enabling turbo-mode).

Is this windows or linux? On linux you can control the frequency with the /sys/devices/system/cpu/cpu*/cpufreq/ interface. Let me know if you interested in this.>>>

On Windows there is an option to put a breakpoint on MSR 0x199 access and inspect the code which is modifying(writing) to this register.

Thanks for the update.

>>...It is a Desktop, running Mac OS X 10.8. I am going to try disabling the apple power management kernel extensions, which
>>may be overwriting the value. I will post solution if this works...

I was thinking that some Power Management software subsystem could affect your tests. It would be very interesting to see your results. Did you check BIOS settings?

Login to leave a comment.