You are not logged in.
I'm having trouble with setting up frequency scaling on an older laptop.
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 9
model name : Intel(R) Celeron(R) M processor 1200MHz
stepping : 5
microcode : 0x45
cpu MHz : 1197.110
cache size : 512 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fdiv_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 mce cx8 sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 tm pbe bts
bogomips : 2395.97
clflush size : 64
cache_alignment : 64
address sizes : 32 bits physical, 32 bits virtual
power management:
The power management section seems to be empty, I did not cut the output off there.
I was following the steps described over at the wiki and the first problem was getting the correct cpufreq driver to load. The wiki entry says one should use p4-clockmod for Celerons, but also states "you probably want to use a Speedstep driver instead."
Attempting to load speedstep-ich results in
modprobe: ERROR: could not insert 'speedstep_ich': No such device
Loading the speedstep-lib module does work, but it is not an identifiable driver according to cpupower
cpupower frequency-info
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU
boost state support:
Supported: no
Active: no
Loading p4-clockmod works and cpupower says ondemand and performance governors are available:
# cpupower frequency-info
analyzing CPU 0:
driver: p4-clockmod
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.00 ms.
hardware limits: 150 MHz - 1.20 GHz
available frequency steps: 150 MHz, 300 MHz, 450 MHz, 600 MHz, 750 MHz, 900 MHz, 1.05 GHz, 1.20 GHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 150 MHz and 1.20 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.20 GHz.
boost state support:
Supported: no
Active: no
But setting the governor to ondemand fails (dmesg output)
[ 112.513190] p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
[ 139.229176] ondemand governor failed, too long transition latency of HW, fallback to performance governor
This... doesn't look well. Am I really using the correct driver?
I also tried the alternative way of using cpufreqd, but the governor cannot be changed by it as well.
I've done some searching, but the CPU seems to be too old to get any relevant results. I am quite new to arch and linux in general, so please tell me if you need me to provide more information.
Last edited by Soukyuu (2014-04-21 20:27:06)
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
p4-clockmod does, as the name says, clock modulation, not frequency scaling. That's an entirely different thing. Clock modulation is not meant to be used with a dynamic scaling governor like ondemand, it should always be used with the performance governor.
acpi_cpufreq is the correct driver for frequency scaling. The question is, is the Celeron M actually capable of frequency scaling? It's quite possible that it is not. I'll use my google-fu to see if I can find some definite info. If there's indeed no freq scaling, then you should use p4-clockmod with the performance governor.
Last edited by Gusar (2014-04-11 22:37:49)
Offline
Searching again, I stumbled upon this thread, but it and the threads linked are talking about P4 CPUs not scaling. Mine is a Celeron, and a mobile, so shouldn't it be able to scale? Why would it show the ondemand governor as available otherwise?
I can't get acpi_cpufreq to load with this CPU. I never checked if it scaled on windows, but I don't remember the CPU getting this hot. I can fry eggs on the palmrest of this laptop
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
Mine is a Celeron, and a mobile, so shouldn't it be able to scale?
Not necessarily. It could be that's the main difference between Pentium M and Celeron M in that family of processors. I couldn't find definite info (doesn't help that gmane is down for me currently), but all posts I did find, no one with a cpu family 6 Celeron processor can get freq scaling going. So it's safe to say this processor does not have freq scaling.
Why would it show the ondemand governor as available otherwise?
It fails to load because it correctly determines that the processor lacks sufficient functionality, so I wouldn't count that as being available.
I can't get acpi_cpufreq to load with this CPU.
No one can. Because there's no freq scaling on this processor.
I never checked if it scaled on windows, but I don't remember the CPU getting this hot.
There's for sure no scaling in Windows, the OS can't magically give the processor a feature it doesn't have. Could be Windows is doing something else to keep temperature down, but we'd need more solid data than what you may or may not remember.
Offline
By "available" I meant listed as available by cpupower. I guess I will try backing up my current installation and putting windows on it again. Then see if windows scales the frequency and report back.
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
Then see if windows scales the frequency and report back.
Trust me, it doesn't. If some report tool shows the frequency to change, that'll be clock modulation, not freq scaling. You can modulate the clock in Linux too, but while it does keep the temperature down (thermal management is the point of clock modulation), it makes everything a lot slower, and it definitely does not save power.
As far as I could determine, cpu family 6 is either Banias or Dothan. Based on that, I'd say you have a Celeron M 310. And this says "Enhanced Intel SpeedStep® Technology: no". Wikipedia says the first Celeron with EIST is from the Arrandale family (Arrandale = first generation Core i3/i5, the desktop equivalent being Clarkdale). Wikipedia is not always reliable, but in this case I'd trust it.
Pentiums are more advanced, freq scaling started on the Pentium 4M which had IST, and then there's the quite legendary Pentium M from the Banias/Dothan family which introduced EIST.
Last edited by Gusar (2014-04-11 23:47:45)
Offline
Yeah, Pentium M-derived Celerons can only skip cycles to avoid overheating.
Offline
Ok, so if I read the link lucke posted right, I can remove the whole p4-clockmod related stuff and get the same result, right?
In that case I guess I can mark it as solved... Thanks for the patience.
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
Yes, you can leave p4-clockmod unloaded.
You can edit your first post to mark it as solved.
Offline