Skip to contentSkip to conversation

Pentium M and 2.4. kernel: does not work

DISCUSSION Georg Sauthoff 3 participants 9 messages Aug 15, 2003 – Aug 18, 2003 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

Hi,

I am just testing the 2.4.22-pre6 patch from Dominik Brodowski. I applied it to 2.4.22-rc2 (without failures) and selected following options:
[*] CPU Frequency scaling

[*]  CPU frequency table helpers
[*]  "userspace" for userspace frequency scaling
<*>  Intel Pentium-M Enhanced SpeedStep

So I have /proc/sys/cpu/0/, but "cat speed speed-max speed-min" prints only 0 to the console.

A dmesg | grep -i cpu prints this:
Initializing CPU#0
Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: a7e9f9bf 00000000 00000000 00000000
CPU:             Common caps: a7e9f9bf 00000000 00000000 00000000
CPU: Intel(R) Pentium(R) M processor 1300MHz stepping 05

Ok, perhaps I oversee something ...

Regards
Georg Sauthoff

#1 lore raw

Hi Georg,

Quoted 2 lines · Georg Sauthoff

So I have /proc/sys/cpu/0/, but "cat speed speed-max speed-min" prints only 0 to the console.

That's not a bug, it's a feature. If you want to set the CPU frequency manually, you need to enable this "governor" first. [Other "governors" set to lowest and highest speed permanently (powersave/performance), and there could be many more such "governors" which adapt the CPU frequency to current system load etc. These only need to be written....]

So,

# echo -n "0%0%100%userspace" > /proc/cpufreq
first, then you can use the
/proc/sys/cpu/0/speed
file to set the CPU speed manually.

Dominik

#2 lore raw
Quoted 6 lines · Dominik Brodowski

Hi Georg,

Quoted 2 lines · Georg Sauthoff

So I have /proc/sys/cpu/0/, but "cat speed speed-max speed-min" prints only 0 to the console.

That's not a bug, it's a feature.

Isn't -pre6 the one which has the problem reading the EST cap bit? Or have you fixed it?

J

#3 lore raw
Quoted 10 lines · Jeremy Fitzhardinge
Quoted 6 lines · Dominik Brodowski

Hi Georg,

Quoted 2 lines · Georg Sauthoff

So I have /proc/sys/cpu/0/, but "cat speed speed-max speed-min" prints only 0 to the console.

That's not a bug, it's a feature.

Isn't -pre6 the one which has the problem reading the EST cap bit? Or have you fixed it?

Oh, indeed, it is. Will update the backport RSN.

Dominik

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

That's not a bug, it's a feature. If you want to set the CPU frequency manually, you need to enable this "governor" first. [Other "governors" set to lowest and highest speed permanently (powersave/performance), and there could be many more such "governors" which adapt the CPU frequency to current system load etc. These only need to be written....]

Ok, I did not do RTMF enough I think ...

Quoted 2 lines

So,

# echo -n "0%0%100%userspace" > /proc/cpufreq
             ^^^^^^^^ What does this mean?
Quoted 3 lines

first, then you can use the
/proc/sys/cpu/0/speed
file to set the CPU speed manually.

Hm, unfortunetly after I set the userspace governor (like above) the /proc/sys/cpu/0/s* gives me 0 again ...

In the kernel logs I don't see any messages from cpufreq. Ok, after a very quick look at the patch sources I don't see printk's there, too.

Regards
Georg Sauthoff

#5 lore raw
Quoted 3 lines · Georg Sauthoff
Quoted 2 lines

So,

# echo -n "0%0%100%userspace" > /proc/cpufreq
             ^^^^^^^^ What does this mean?

set the CPU 0 0%
to something between

                 0%

and 100%
and let the userspace
governor decide which speed to use in between. It's much easier with the 2.6. sysfs interface -- one of the reasons I'm not really too excited about the cpufreq backport for 2.4. [besides, I _only_ use 2.[56] kernels...]

Quoted 9 lines
Quoted 3 lines

first, then you can use the
/proc/sys/cpu/0/speed
file to set the CPU speed manually.

Hm, unfortunetly after I set the userspace governor (like above) the /proc/sys/cpu/0/s* gives me 0 again ...

In the kernel logs I don't see any messages from cpufreq. Ok, after a very quick look at the patch sources I don't see printk's there, too.

Probably a BUG I introduced in the latest backport. Hopefully I'll have the time tomorrow to update it. In the meantime: what does /proc/cpufreq tell?

Dominik

#6 lore raw
Quoted 6 lines · Dominik Brodowski
Quoted 4 lines · Georg Sauthoff
Quoted 2 lines

So,

# echo -n "0%0%100%userspace" > /proc/cpufreq
             ^^^^^^^^ What does this mean?
Quoted 8 lines

set the CPU 0 0%
to something between

                 0%

and 100%
and let the userspace
governor decide which speed to use in between. It's much easier with the 2.6. sysfs interface -- one of the reasons I'm not really too excited about the cpufreq backport for 2.4. [besides, I _only_ use 2.[56] kernels...]

Well, I tested a last 2.5er and it worked very stable with my hardware, and the interface for cpufreq was easy to use (ok - the Pentium M support was not so far at this time I think). So everything just fine, but the §"!*$^ Cisco VPN at the university needs a §$=?)"# closed source cisco kernel module ... Ok, the 2.5er has IPsec support included, but I didn't find so much documentation about it (specially how to configure the userspace programs). And btw it seems that an encrypted group passward of a vpn-gateway doesn't make it easier to use other client software instead of the buggy cisco client.

Quoted 7 lines
Quoted 7 lines
Quoted 3 lines

first, then you can use the
/proc/sys/cpu/0/speed
file to set the CPU speed manually.

Hm, unfortunetly after I set the userspace governor (like above) the /proc/sys/cpu/0/s* gives me 0 again ...

Quoted 6 lines
Quoted 2 lines

In the kernel logs I don't see any messages from cpufreq. Ok, after a very quick look at the patch sources I don't see printk's there, too.

Probably a BUG I introduced in the latest backport. Hopefully I'll have the time tomorrow to update it. In the meantime: what does /proc/cpufreq tell?

It does tell (AFAIRC):
min-policy max-policy ... (sorry don't remember the end of the line)

I will mail the exact line tommorow.

Regards
Georg Sauthoff

#7 lore raw
Quoted 8 lines · Georg Sauthoff
Quoted 3 lines

Probably a BUG I introduced in the latest backport. Hopefully I'll have the time tomorrow to update it. In the meantime: what does /proc/cpufreq tell?

It does tell (AFAIRC):
min-policy max-policy ... (sorry don't remember the end of the line)

I will mail the exact line tommorow.

Ok, here it comes:

# cat /proc/cpufreq 
          minimum CPU frequency  -  maximum CPU frequency  -  policy
# echo -n "0%0%100%userspace" > /proc/cpufreq
# cat /proc/cpufreq 
          minimum CPU frequency  -  maximum CPU frequency  -  policy

Hope that helps.

Regards
Georg Sauthoff

A message that is not in the archive (sent off-list or not yet received): [email protected]

#9 lore raw
Quoted 3 lines · you

Yes it did. Indeed no cpufreq driver got properly loaded -- a bug in speedstep-centrino prevented this. Can you try the attached version, please?

Sure, no problem:

# /proc/cpufreq
          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0       600000 kHz ( 46 %)  -    1300000 kHz (100 %)  -  performance
# echo -n "0%0%100%userspace" > /proc/cpufreq
# cat /proc/cpufreq
          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0       600000 kHz ( 46 %)  -    1300000 kHz (100 %)  -  userspace
# cat /proc/sys/cpu/0/speed
1300000
# cat /proc/sys/cpu/0/speed-min
600000
# cat /proc/sys/cpu/0/speed-min > /proc/sys/cpu/0/speed
# cat /proc/sys/cpu/0/speed
600000

So it seems to work now.

A 'speed rsa' in openssl is nearly perfectly about a factor of 2 slower in min-speed in comparison to max-speed. Like it should be! At max-speed the fan turns on and and min-speed not (while openssl ist testing).

Great.

Regards
Georg Sauthoff