You are not logged in.

#1 2014-04-11 22:24:06

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

[Solved] Old Celeron M CPU: setting ondemand governor fails

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

#2 2014-04-11 22:36:38

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

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

#3 2014-04-11 22:39:40

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

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 big_smile


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#4 2014-04-11 23:11:32

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

Soukyuu wrote:

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.

Soukyuu wrote:

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.

Soukyuu wrote:

I can't get acpi_cpufreq to load with this CPU.

No one can. Because there's no freq scaling on this processor.

Soukyuu wrote:

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

#5 2014-04-11 23:18:34

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

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

#6 2014-04-11 23:46:17

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

Soukyuu wrote:

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

#7 2014-04-12 00:08:48

lucke
Member
From: Poland
Registered: 2004-11-30
Posts: 4,018

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

Yeah, Pentium M-derived Celerons can only skip cycles to avoid overheating.

http://codemonkey.org.uk/2009/01/18/for … 4clockmod/

Offline

#8 2014-04-12 10:16:48

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

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

#9 2014-04-12 17:38:32

lucke
Member
From: Poland
Registered: 2004-11-30
Posts: 4,018

Re: [Solved] Old Celeron M CPU: setting ondemand governor fails

Yes, you can leave p4-clockmod unloaded.

You can edit your first post to mark it as solved.

Offline

Board footer

Powered by FluxBB