Created attachment 241281 [details] lspci -nn -k -vvv Hello. Since 4.8 frequencies in /proc/cpuinfo aren't dynamically updated anymore. I guess they are stuck to the values written during boot as I get different values from boot to boot. This wasn't the case with 4.7.x or any previous kernel series. Please fix.
Created attachment 241291 [details] lscpu
Created attachment 241301 [details] config-4.8
I proposed a patch to make /proc/cpuinfo accurate several months ago. Red Hat didn't like it, arguing that changing values is a support issue. So there was not agreement on what to do here -- let's go find out if it changed by mistake...
also... please indicate which cpufreq driver you are using, for that can also effect things. (acpi_cpufreq doesn't update, but intel_pstate does)
(In reply to Len Brown from comment #4) > also... > please indicate which cpufreq driver you are using, > for that can also effect things. (acpi_cpufreq doesn't update, > but intel_pstate does) I don't use intel_pstate as it's for sandy bridge and newer processors, which I don't have. I use acpi_cpufreq exclusively for a very long time.
JIC this is important: values in '/sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq' aren't dynamically updated either.
please show the output from grep . /sys/devices/system/cpu/cpu0/cpufreq/* which will show the governor and the frequency range available. It is possible that you are running a governor that makes no changes.
(In reply to Len Brown from comment #7) > please show the output from > grep . /sys/devices/system/cpu/cpu0/cpufreq/* # grep . /sys/devices/system/cpu/cpu0/cpufreq/* /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0 /sys/devices/system/cpu/cpu0/cpufreq/bios_limit:1199000 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq:1199000 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:1199000 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:666000 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency:10000 /sys/devices/system/cpu/cpu0/cpufreq/freqdomain_cpus:0 1 2 3 /sys/devices/system/cpu/cpu0/cpufreq/related_cpus:0 /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies:1199000 1066000 933000 799000 666000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:powersave schedutil conservative performance /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:1199000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:acpi-cpufreq /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:conservative /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:1199000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:666000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed:<unsupported> grep: /sys/devices/system/cpu/cpu0/cpufreq/stats: Is a directory > which will show the governor and the frequency range available. > It is possible that you are running a governor that makes no changes. I am using conservative governor that successfully changed frequencies until 4.8. Governor configuration hasn't changed for years on my machine. Thresholds are changed dynamically based on AC status with this script: $ cat /etc/pm/power.d/governor #!/bin/sh : ${GOVERNOR:=conservative} : ${PWRS_UP_THRESHOLD:=95} : ${PERF_UP_THRESHOLD:=90} : ${PWRS_DOWN_THRESHOLD:=90} : ${PERF_DOWN_THRESHOLD:=50} powersave() { local cpufreq="/sys/devices/system/cpu/cpufreq/${GOVERNOR}" [ -w "${cpufreq}/up_threshold" -a -w "${cpufreq}/down_threshold" ] || return 1 echo 99 > "${cpufreq}/up_threshold" echo 11 > "${cpufreq}/down_threshold" echo "$1" > "${cpufreq}/up_threshold" echo "$2" > "${cpufreq}/down_threshold" } case $1 in true) powersave "${PWRS_UP_THRESHOLD}" "${PWRS_DOWN_THRESHOLD}" ;; false) powersave "${PERF_UP_THRESHOLD}" "${PERF_DOWN_THRESHOLD}" ;; *) exit 254 ;; esac exit 0
please re-test 4.9-rc2
(In reply to Len Brown from comment #9) > please re-test 4.9-rc2 Is there a specific change you'd like me to test?
I didn't manage to test 4.9-rc2, but I can confirm this problem is fixed in 4.8.5 due to changes that were introduced between 4.8.4 and 4.8.5. Thank you very much.