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 debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to