Skip to contentSkip to conversation

longhaul gives /proc/sys/cpu/0/speed-m{in,max} = 0

DISCUSSION Ian McConnell 2 participants 3 messages Dec 30, 2003 – Jan 2, 2004

lore
Share & tools
lore
#0 lore raw

I'm trying to set up cpu speed control with my VIA EPIA C3 800Mhz.

Quoted 1 line

x86info

Family: 6 Model: 7 Stepping: 8
CPU Model : VIA C3 (Samuel 2) [C5B]

I downloaded and installed vanilla linux-2.4.23 with cpufreq-LINUX_2_4-20031230.tar.gz and setting

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_24_API=y
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
CONFIG_X86_LONGHAUL=m
# CONFIG_X86_SPEEDSTEP_PIIX4 is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_GX_SUSPMOD is not set

This seems to work correctly as I get

longhaul: VIA C3 'Ezra' [C5C] CPU detected. Longhaul v1 supported.
longhaul: MinMult=3.0x MaxMult=6.0x
longhaul: FSB: 133MHz Lowestspeed=399MHz Highestspeed=798MHz

Quoted 1 line

cat /proc/cpufreq

          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0          399 kHz ( 50 %)  -        798 kHz (100 %)  -  performance

however I also have

Quoted 1 line

more /proc/sys/cpu/0/speed*

::::::::::::::
/proc/sys/cpu/0/speed
::::::::::::::
0
::::::::::::::
/proc/sys/cpu/0/speed-max
::::::::::::::
0
::::::::::::::
/proc/sys/cpu/0/speed-min
::::::::::::::
0

Is this right? speed-min and speed-max are both zero so I can't use any of the userspace speed throttling programs such as cpuspeed-1.1. Also if /proc/sys/cpu/0/speed = 0, how do I tell what speed my machine is running at?

Recompiling the kernel with longhaul built in (ie not a module) didn't make any difference.

I also tried a stock binary kernel 2.6.0, but when I load longhaul.o, the machine hangs after printing out:

longhaul: VIA C3 'Ezra' [C5C] CPU detected. Longhaul v1 supported.
longhaul: MinMult=3.0x MaxMult=6.0x
longhaul: FSB: 0MHz Lowestspeed=0MHz Highestspeed=0MHz
longhaul: FSB:0 Mult:10.0x

I did have some success with the longhaul and governor modules from
http://www3.sympatico.ca/howlettfamily/epia/longhaul-1.2.tar.gz
The longhaul module worked ok with vanilla 2.4.23, but the governor module hangs my machine after a few hours.

Unfortunately, I'm a bit stuck as what to try next as both
http://blade5.bvu.edu/wiki
http://www.codemonkey.org.uk/
seem to be down now.

#1 lore raw
Quoted 2 lines · On Tue, 30 Dec 2003 13:38:25 +0000 Ian McConnell wrote:

Is this right? speed-min and speed-max are both zero so I can't use any of the userspace speed throttling programs such as cpuspeed-1.1.

With 2.4.x kernels, I think you must set the `userspace' governor in order to have the CPU clock frequency (and voltage) assigned by a userspace process: issue the following command (as root)

    # echo -n "0%0%100%userspace" > /proc/cpufreq

and then you should be able to enjoy cpuspeed or whatever...

Quoted 2 lines

Also if /proc/sys/cpu/0/speed = 0, how do I tell what speed my machine is running at?

The following command

    $ cat /proc/cpuinfo

should show the actual CPU clock frequency (among the other things).

Signature · 4 lines
             |  GnuPG Key ID = DD6DFCF4 | You're compiling a program
  Francesco  |        Key fingerprint = | and, all of a sudden, boom!
     Poli    | C979 F34B 27CE 5CD8 DC12 |         -- from APT HOWTO,
             | 31B5 78F4 279B DD6D FCF4 |             version 1.8.0

_______________________________________________
Cpufreq mailing list
[email protected]
http://www.linux.org.uk/mailman/listinfo/cpufreq

#2 lore raw
Quoted 5 lines · Francesco Poli
Quoted 2 lines · On Tue, 30 Dec 2003 13:38:25 +0000 Ian McConnell wrote:

Is this right? speed-min and speed-max are both zero so I can't use any of the userspace speed throttling programs such as cpuspeed-1.1.

Quoted 7 lines

With 2.4.x kernels, I think you must set the `userspace' governor in order to have the CPU clock frequency (and voltage) assigned by a userspace process: issue the following command (as root)

    # echo -n "0%0%100%userspace" > /proc/cpufreq

and then you should be able to enjoy cpuspeed or whatever...

Aha, that was the piece of information I was missing.

$ cat /proc/cpufreq 
          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0          399 kHz ( 50 %)  -        798 kHz (100 %)  -  userspace
$ cat /proc/sys/cpu/0/speed-min
399
$ cat /proc/sys/cpu/0/speed-max 
798
$ cat /proc/sys/cpu/0/speed     
798

which all seem good.

Unfortunately, I can't set anything

$ cat /proc/sys/cpu/0/speed-min > /proc/sys/cpu/0/speed
$ cat /proc/sys/cpu/0/speed
798

Even trying

$ echo -n "0%0%50%powersave" > /proc/cpufreq 
$  cat /proc/cpufreq 
          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0          399 kHz ( 50 %)  -        399 kHz ( 50 %)  -  powersave
$ cat /proc/sys/cpu/0/speed
798
$ x86info  -mhz
x86info v1.12b.  Dave Jones 2001-2003
Feedback to <[email protected]>.

Found 1 CPU
--------------------------------------------------------------------------
Family: 6 Model: 7 Stepping: 8
CPU Model : VIA C3 (Samuel 2) [C5B]
800MHz processor (estimate).

I also tried "userspace" and "performance" without any change.

Quoted 8 lines
Quoted 2 lines

Also if /proc/sys/cpu/0/speed = 0, how do I tell what speed my machine is running at?

The following command

    $ cat /proc/cpuinfo

should show the actual CPU clock frequency (among the other things).

I don't think it does. If I remove longhaul.o and install
http://www3.sympatico.ca/howlettfamily/epia/longhaul-1.2.tar.gz
(which lets me change the speed, but doesn't give me /proc/sys/cpu/0/speed or a working speed governor)

to change the speed, then /proc/cpuinfo doesn't change (though this may be a bug in the longhaul-1.2 code)

$ cd longhaul; insmod ./longhaul.o
$ echo 0 > /proc/longhaul
$ cat /proc/longhaul
CPU 6.7.8 
CPU Speed: 399000
FSB: 133
CPU Mult:  30
Longhaul version: 2
Driver version: 1.2
last command: 0
                            7 6 5 4 3 2 1 0
MSR_VIA_LONGHAUL:        0x0000000b000001f0 
MSR_IA32_EBL_CR_POWERON: 0x00000000c0440000 
clock 0x0  399000
clock 0x1  465500
clock 0x2  532000
clock 0x3  598500
clock 0x4  665000
clock 0x5  731500
clock 0x6  798000
$ x86info  -mhz
x86info v1.12b.  Dave Jones 2001-2003
Feedback to <[email protected]>.

Found 1 CPU
--------------------------------------------------------------------------
Family: 6 Model: 7 Stepping: 8
CPU Model : VIA C3 (Samuel 2) [C5B]
400MHz processor (estimate).

However

$ cat  /proc/cpuinfo 
processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 7
model name      : VIA Ezra
stepping        : 8
cpu MHz         : 800.047
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de tsc msr cx8 mtrr pge mmx 3dnow
bogomips        : 1595.80