Sunday, 3 October 2004

ACPI Throttling on Inspiron 5100

As the Dell Insprion 5100 has a standard desktop P4 processor it doesn't support power management but I am experimenting with ACPI throttling to extend battery power life/reduce temperature.  Here's the output from x86info:

wendy:~ # x86info
x86info v1.10.  Dave Jones 2001, 2002
Feedback to <davej@suse.de>.
Found 1 CPU
Family: 15 Model: 2 Stepping: 7 Type: 0 [Pentium 4 (Northwood) [C1] Original OEM]
Processor name string:               Intel(R) Pentium(R) 4 CPU 2.66GHz


You can prove this yourself by the following:

wendy:~ # cat /proc/acpi/processor/CPU0/info
processor id:            0
acpi id:                 0
bus mastering control:   yes
power management:        no
throttling control:      yes
limit interface:         yes

You notice the power management: no in the above output No CPU power management Im afraid.  This is further proven because the performance file is missing:

wendy:~ # cat /proc/acpi/processor/CPU0/performance
cat: /proc/acpi/processor/CPU0/performance: No such file or directory

Also there is only one powerstate supported in the power file:

wendy:~ # cat /proc/acpi/processor/CPU0/power
active state:            C1
default state:           C1
bus master activity:     00000000
states:
   *C1:                  promotion[--] demotion[--] latency[000] usage[00000000]
    C2:                 
    C3:                 

However, going back to the output from /proc/acpi/processor/CPU0/info youll notice that throttling is supported.  This is also proven by the output of /proc/acpi/processor/CPU0/throttling:

wendy:~ # cat /proc/acpi/processor/CPU0/throttling
state count:             8
active state:            T0
states:
   *T0:                  00%
    T1:                  12%
    T2:                  25%
    T3:                  37%
    T4:                  50%
    T5:                  62%
    T6:                  75%
    T7:                  87%

Notice the * before T0.  This indicates that there is 00% throttle on the processor, i.e. its running at 100%.  If we change this to anything between T1-T7 we can reduce the processor from running quite so fast:

T0         100%    2.66GHz
T1         88%      2.34GHz
T2         75%      2GHz
T3         63%      1.68GHz
T4         50%      1.33GHz
T5         38%      1.01GHz
T6         25%      665MHz
T7         13%      346MHz

Ive tested this by running xscreensaver and observing a visible slowdown.  I have not done any testing on thermal or battery effects Let me know if you do!

wendy:~ # cat /proc/acpi/processor/CPU0/throttling
state count:             8
active state:            T0
states:
   *T0:                  00%
    T1:                  12%
    T2:                  25%
    T3:                  37%
    T4:                  50%
    T5:                  62%
    T6:                  75%
    T7:                  87%
wendy:~ # echo -n 4 > /proc/acpi/processor/CPU0/throttling
wendy:~ # cat /proc/acpi/processor/CPU0/throttling
state count:             8
active state:            T4
states:
    T0:                  00%
    T1:                  12%
    T2:                  25%
    T3:                  37%
   *T4:                  50%
    T5:                  62%
    T6:                  75%
    T7:                  87%

Here's a good website that describes the ACPI interface:
http://acpi.sourceforge.net/documentation/processor.html

No comments:

Post a Comment