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

_______________________________________________
Power mailing list
[email protected]
http://www.bughost.org/mailman/listinfo/power

Reply via email to