reassign 733545 linux
title 733545 cannot set max cpufreq frequency
thanks
On Mon, Dec 30, 2013 at 10:13:01AM +1300, martin f krafft wrote:
> Package: cpufreqd
> Version: 2.4.2-2
> Severity: important
>
> For weeks now, I've not been able to get cpufreqd to work. The log
> (and -V7) shows only the following:
>
> cpufreqd: get_class_device_attribute: couldn't open
> /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0a/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full
> (No such file or directory)
> cpufreqd: get_class_device_attribute: couldn't open
> /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0a/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now
> (No such file or directory)
> cpufreqd: get_class_device_attribute: couldn't open
> /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0a/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power_now
> (No such file or directory)
There is fallback code that that handles energy_full first and
charge_full (same for the other attributes), so that shouldn't be the
cause of
> cpufreqd: cpufreqd_set_profile : Couldn't set profile "Performance
> High" set for cpu0 (2400000-2400000-performance)
> cpufreqd: cpufreqd_loop : Cannot set policy, Rule unchanged
> ("none").
This log seems a bit poor for the max verbosity level (this may be a
different problem I never managed to diagnose).
On the other hand I have the same problem on one of my laptops and
indeed:
open("/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", O_RDONLY) = 3
read(3, "800000\n", 4095) = 7
close(3) = 0
open("/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", O_WRONLY) = 3
write(3, "1801000", 7) = 7
close(3) = 0
open("/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", O_WRONLY) = 3
write(3, "1801000", 7) = -1 EINVAL (Invalid argument)
close(3) = 0
open("/proc/cpufreq", O_RDWR) = -1 ENOENT (No such file or directory)
write(1, "cpufreqd_set_profile : Could"..., 110) = 110
write(1, "cpufreqd_loop : Canno"..., 71) = 71
This is libcpufreq failing to write to scaling_min_freq and finally
trying to write to /proc/cpufreq (this is just fallback logic so the
issue is the first failure).
It seems to be a change in kernel behaviour since it's fully
reproducible on the command line with these available frequencies:
1801000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 1100000
1000000 900000 800000
$ echo 1801000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
1801000
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
1800000
and then writing to min_freq fails because 1801000 is above max:
$ echo 1801000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
1801000
tee: /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq: Invalid argument
Note that this is most likely upstream since I'm using my self rolled
3.13-rc5.
--
mattia
:wq!
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]