No C-States on T7400?
Alan Jenkins
alan-jenkins at tuffmail.co.uk
Sun Dec 30 03:04:10 PST 2007
Ben Branch wrote:
> Len Brown wrote:
>
>> cat /proc/acpi/processor/*/power
>>
>> will tell you what the kernel sees and is exporting to powertop.
>>
>> -Len
>>
>>
> Here it is:
>
> active state: C0
> max_cstate: C8
> bus master activity: 00000000
> maximum allowed latency: 8000 usec
> states:
> active state: C0
> max_cstate: C8
> bus master activity: 00000000
> maximum allowed latency: 8000 usec
> states:
>
>
> I notice that the "states:" is empty???
>
That confirms what powertop said. It's what I would expect.
When powertop says "only available on Mobile CPUs", it's not being
completely helpful. It should say "only available for Mobile CPUs and
BIOSs".
My desktop had a rather broken BIOS which required a kernel patch to
workaround - something wrong with the ACPI Root Description System
Table. It meant linux missed the supported *P* states. It was fixed in
v2.6.23-rc3-git9, so my particular problem won't happen in v2.6.23 but
there's a chance it's something similar.
However, even with the fix, my BIOS doesn't provide any *C* state
information. That's because the BIOS manages the different non-zero
C-states itself, and linux doesn't see them.
This is known as "C1E", and it may be present in your BIOS too. You may
be able to see this as a BIOS option, which selects whether the BIOS
does C1E or not (linux still can't get access to C-states if you disable
it though). Linux is responsible for entering C1; the BIOS then decides
when to deepen a C1 sleep to C1E. On multi-core systems C1E is
generally only possible when all cores on the chip have gone into C1.
The problem is that if only C1 is available, linux doesn't track it, so
you don't get any information about it.
I think this is a fairly well known issue which should be put in the
PowerTop FAQ.
Alan
More information about the Power
mailing list