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
