CPU frequency doesn't drop below 1200MHz (like it used to)

Stefan Esser se at freebsd.org
Fri May 22 18:30:09 UTC 2015


Am 22.05.2015 um 09:33 schrieb Nikos Vassiliadis:
> Hi,
> 
> I just noticed that my CPU's frequency doesn't support dropping
> below 1200MHz. It used to be able to go down to 150MHz, if I am
> not mistaken. I'd like it to go down to 600MHz via powerd, like
> it used to go. This is a month's old 10-STABLE.
> 
>> [nik at moby ~]$ sysctl dev.cpu.0.freq_levels
>> dev.cpu.0.freq_levels: 2400/35000 2300/32872 2200/31127 2100/29417
>> 2000/27740 1900/26096 1800/24490 1700/22588 1600/21045 1500/19534
>> 1400/18055 1300/16611 1200/15194
> 
> This is the CPU:
>> hw.model: Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz

Well, your CPU does not support clock frequencies below 1200 MHz.

Throttling works by injection of "wait cycles" that reduce the
amount of work the CPU can perform per unit of time, but does
not really lower the CPU frequency.

That means, that with throttling the CPU will need more energy
to perform some calculation than it would without.

If you select 150 MHz, then your CPU will be clocked at 1200 MHz,
but will only perform any operations on each 8th clock cycle.
This limits peak energy consumption (and that was the reason this
feature was introduced in the power-hungry Pentium-4 processors),
but increases the amount of energy needed to perform the computation.

The power consumption of your CPU may be (an estimated) 50% to 70%
at "150 Mhz" compared to 1200 Mhz. But you'll need 8 times as long
until the CPU can fall into a deep sleep state. Since RAM and other
components see the same clock whether throttling is enabled or not,
you'll need 8 times as long full power for your RAM (which will
also go into a low power refresh mode, when the CPU is idle).

Throttling has been disabled, because there are no longer any CPUs
which need it to prevent overheating. (Or rather: there are now
better mechanisms than throttling, which are implemented in any
modern x68 CPU.) Throttling could also impact system stability.

It really serves no purpose anymore and it was never suitable to
improve the power efficiency of e.g. a laptop computer. You'll
see better battery live if you keep throttling disabled.

Regards, STefan


More information about the freebsd-stable mailing list