Pentium M and 2.4. kernel: does not work
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
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
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
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
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
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
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 between0%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/cpufreqtell?
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
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/cpufreqtell?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 - policyHope that helps.
Regards
Georg Sauthoff
A message that is not in the archive (sent off-list or not yet received): [email protected]
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
600000So 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