Skip to contentSkip to conversation

cpufreq for older Toshibas with P3-M and ALi chipset?

DISCUSSION Dag Bakke 2 participants 5 messages Jan 2, 2005 – Jan 3, 2005

lore
Share & tools
lore

Dag Bakke

author
#0 lore raw

Greetings.

I have for quite some time used Peter T Breuer's 'cpuswitch' [1] utility
to change the processor frequency on my Toshiba Satellite Pro 6000 [3]. This utility makes use of HCI/SCI to do its work, and must(?) be built together with Jonathan Buzzard's toshiba-utils. [2] It gives me 8 different CPU frequencies to choose from. (Though the frequency in /proc/cpuinfo is never updated.)

I'd like to make use of cpufreq with the 'ondemand' governor instead. The laptop appears to work with the 'ACPI Processor P-States driver', but this only gives me two frequencies to choose between. Is this to be expected?

None of the cpufreq processor drivers appears to fit the bill for a PIII-M on an ALi chipset, so I wonder if I am stuck with the cpuswitch utility if I want the better granularity it offers over the ACPI driver? Is it at all possible to fit the functions 'cpuswitch' makes use of into a cpufreq driver?

BTW:
I do notice that if I fiddle with the BIOS settings, I can make the laptop boot at "half speed", coming up at 500 MHz instead of 1000. (As displayed in /proc/cpuinfo.) And the P-states driver still works, so presumably it is possible to combine 'native support' and P-states to obtain 16 steps? :-)

Thank you to Jonathan, Peter, Dominik, Len and all the others who contribute to making laptops useable under Linux.

Dag B

[1] http://www.it.uc3m.es/ptb/cpuswitch.c
[2] http://www.buzzard.org.uk/toshiba/downloads/toshutils-2.0.1.tar.gz
[3]
dagb-work cpufreq # lspci
0000:00:00.0 Host bridge: ALi Corporation M1644/M1644T Northbridge+Trident (rev 01) 0000:00:01.0 PCI bridge: ALi Corporation PCI to AGP Controller
0000:00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
0000:00:04.0 IDE interface: ALi Corporation M5229 IDE (rev c3)
0000:00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 01) 0000:00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
0000:00:08.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU]
[....]

dagb-work cpufreq # cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Pentium(R) III Mobile CPU 1000MHz
stepping : 1
cpu MHz : 995.905
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1961.98

dagb-work cpufreq # x86info x86info v1.12b. Dave Jones 2001-2003
Feedback to <[email protected]>.

Found 1 CPU
--------------------------------------------------------------------------
Family: 6 Model: 11 Stepping: 1 Type: 0 Brand: 6
CPU Model: Pentium III-M Original OEM

#1 lore raw

Hi,

Quoted 11 lines · Dag Bakke

I have for quite some time used Peter T Breuer's 'cpuswitch' [1] utility to change the processor frequency on my Toshiba Satellite Pro 6000 [3]. This utility makes use of HCI/SCI to do its work, and must(?) be built together with Jonathan Buzzard's toshiba-utils. [2]
It gives me 8 different CPU frequencies to choose from. (Though the frequency in /proc/cpuinfo is never updated.)

I'd like to make use of cpufreq with the 'ondemand' governor instead. The laptop appears to work with the 'ACPI Processor P-States driver', but this only gives me two frequencies to choose between. Is this to be expected?

Yes, it is. Mobile Pentium 3 CPU only support two frequency scaling states. The 8 states you're seeing using cpuswitch are throttling states -- i.e. the CPU is stopped for short periods of time. However, during these periods the voltag isn't scaled, so it only leads to a linear reduction of power compared to a ~ ^3 reduction if voltage is reduced as well. Furthermore, the state the CPU is in when stopped equals the state the CPU is put into when there is no work to do -- all this leads to the fact that throttling is useless in most cases.

Quoted 5 lines

None of the cpufreq processor drivers appears to fit the bill for a PIII-M on an ALi chipset, so I wonder if I am stuck with the cpuswitch utility if I want the better granularity it offers over the ACPI driver? Is it at all possible to fit the functions 'cpuswitch' makes use of into a cpufreq driver?

Except the acpi-cpufreq driver, there is none you can use with this system.

Quoted 6 lines

BTW:
I do notice that if I fiddle with the BIOS settings, I can make the laptop boot at "half speed", coming up at 500 MHz instead of 1000. (As displayed in /proc/cpuinfo.) And the P-states driver still works, so presumably it is possible to combine 'native support' and P-states to obtain 16 steps? :-)

No :-) Probably this "half speed" mode means the front side bus speed (which is multiplied inside the CPU) is put to 50%. And unless you find out how this is accessible during a runtime system, there's no chance to combine these two.

Quoted 2 lines

Thank you to Jonathan, Peter, Dominik, Len and all the others who contribute to making laptops useable under Linux.

You're welcome.

Dominik

author
#2 lore raw
Quoted 5 lines · Dominik Brodowski

Hi,

On Sun, Jan 02, 2005 at 05:24:47PM +0100, Dag Bakke wrote:

[snip]

Quoted 4 lines
Quoted 3 lines

The laptop appears to work with the 'ACPI Processor P-States driver', but this only gives me two frequencies to choose between. Is this to be expected?

Quoted 10 lines

Yes, it is. Mobile Pentium 3 CPU only support two frequency scaling states. The 8 states you're seeing using cpuswitch are throttling states -- i.e. the CPU is stopped for short periods of time. However, during these periods the voltag isn't scaled, so it only leads to a linear reduction of power compared to a ~ ^3 reduction if voltage is reduced as well. Furthermore, the state the CPU is in when stopped equals the state the CPU is put into when there is no work to do -- all this leads to the fact that throttling is useless in most cases.

I'll test and see how much the drain from the battery changes when using cpuswitch. And compare it with the two P-states. Should have done that anyway.

Quoted 2 lines
Quoted 2 lines

None of the cpufreq processor drivers appears to fit the bill for a PIII-M on an ALi chipset,

[snip]

Quoted 9 lines

Except the acpi-cpufreq driver, there is none you can use with this system.

Quoted 4 lines

BTW:
I do notice that if I fiddle with the BIOS settings, I can make the laptop boot at "half speed", coming up at 500 MHz instead of 1000. (As displayed in /proc/cpuinfo.) And the P-states driver still works, so presumably it is possible to combine 'native support' and P-states to obtain 16 steps? :-)

Quoted 7 lines

No :-) Probably this "half speed" mode means the front side bus speed (which is multiplied inside the CPU) is put to 50%. And unless you find out how this is accessible during a runtime system, there's no chance to combine these two.

Well, I believe it is just the same function as cpuswitch exploits, because cpuswitch reports the cpu to be running at 'level 4' when I make it boot at 500Mhz.

Thank you for a comprehensive answer, even though it didn't come out as positive as I had hoped!

Dag B.

#3 lore raw
Quoted 3 lines · Dag Bakke

Well, I believe it is just the same function as cpuswitch exploits, because cpuswitch reports the cpu to be running at 'level 4' when I make it boot at 500Mhz.

Then the "half speed" method doesn't work using the FSB but by throttling the CPU.

Dominik

author
#4 lore raw
In reply to Dominik Brodowski
Quoted 5 lines · Dominik Brodowski

Hi,

On Sun, Jan 02, 2005 at 05:24:47PM +0100, Dag Bakke wrote:

[snip]

Quoted 10 lines

Yes, it is. Mobile Pentium 3 CPU only support two frequency scaling states. The 8 states you're seeing using cpuswitch are throttling states -- i.e. the CPU is stopped for short periods of time. However, during these periods the voltag isn't scaled, so it only leads to a linear reduction of power compared to a ~ ^3 reduction if voltage is reduced as well. Furthermore, the state the CPU is in when stopped equals the state the CPU is put into when there is no work to do -- all this leads to the fact that throttling is useless in most cases.

[snip]
OK... but this bit....

Quoted 11 lines
Quoted 4 lines

BTW:
I do notice that if I fiddle with the BIOS settings, I can make the laptop boot at "half speed", coming up at 500 MHz instead of 1000. (As displayed in /proc/cpuinfo.) And the P-states driver still works, so presumably it is possible to combine 'native support' and P-states to obtain 16 steps? :-)

No :-) Probably this "half speed" mode means the front side bus speed (which is multiplied inside the CPU) is put to 50%. And unless you find out how this is accessible during a runtime system, there's no chance to combine these two.

...made me thinking...

Will x86info be fooled by throttling states? Will it report the actual clock, or the effective clock taking 'stops' into account?

Not to distrust you, but I am trying to figure out if the cpuswitch thingy is throttling or multiple FSB frequencies. Because x86info -mhz reports a likely clock frequency for every cpuswitch step. And if /proc/cpuinfo shows the system running at 500 Mhz and 'step 4' and this is due to a new FSB speed... I am sure you understand my reasoning.

Not sure it will mean a lot for power consumption anyway..

Dag B.