Eric Saxe wrote:
> Mark Haywood wrote:
>>
>> No. When it runs at P0, then the minimum frequency it will operate at 
>> is 2400MHz. But it is very likely to run faster than that and yes, I 
>> believe it may even run faster than 2401MHz. So, the "average 
>> frequency" as far as I know is the average speed while in P0. I 
>> believe that the APERF/MPERF registers will be used to determine the 
>> average frequency. But I'm not working on that, so maybe I should let 
>> someone else answer that. ;-)
>>   
> Is it the case here that there's essentially two "P0" states being 
> enumerated by ACPI (One for turbo mode enabled, and one for disabled)?

It depends what you mean by P0 states. By definition, P0 is the first 
P-state returned when evaluating the _PSS. The P0 frequency for Turbo 
Mode enabled systems is always supposed to be defined as the P1 
frequency + 1MHz.

If you were to disable Turbo Mode (assuming the BIOS gives you the 
option), then I believe you would find your supported_frequencies_Hz to be:

800000000:1200000000:1600000000:2000000000:2400000000

Why did Intel define the Turbo Mode P-state P0 this way you ask? I 
suspect that they did it this way so that an OS could basically support 
Turbo Mode without any modifications. An OS that is totally ignorant of 
Turbo Mode will still request Turbo Mode (by requesting P0) when the 
CPUs are heavily utilized at P1 (not yet over clocked). That means 
existing Windows, Linux and other OSes that have been in the can long 
before Turbo Mode existed can still take advantage of it.

> This is what the cpu_info kstat is showing on Kuriakose's laptop 
> (thanks Vinay):
>
> supported_frequencies_Hz
> 800000000:1200000000:1600000000:2000000000:2400000000:2401000000
>
> I'm wondering what the essential difference is between the 2400 state 
> and the 2401 state (besides 1 MHz, and i'm guessing that's not even 
> the difference)...

The 2401 state says feel free to run 2400 or faster if conditions allow.

Mark

>
> Thanks,
> -Eric


Reply via email to