jock Posted April 17, 2016 Posted April 17, 2016 Hello, I was tweaking the dvfs table on my OrangePI PC to find the maximum efficiency sweet spot. I noticed that no way I change the dvfs table, the maximum frequency is always 1296 Mhz. This is the very simple dvfs table I'm using now: [dvfs_table] pmuic_type = 2 extremity_freq = 1200000000 max_freq = 1200000000 min_freq = 480000000 LV_count = 2 LV1_freq = 1200000000 LV1_volt = 1240 LV2_freq = 480000000 LV2_volt = 980 but this is the result of an excerpt cpufreq-info command for cpu0: driver: cpufreq-sunxi CPUs which run at the same hardware frequency: 0 1 2 3 CPUs which need to have their frequency coordinated by software: 0 1 2 3 maximum transition latency: 2.00 ms. hardware limits: 480 MHz - 1.20 GHz available cpufreq governors: conservative, ondemand, userspace, powersave, interactive, performance current policy: frequency should be within 480 MHz and 1.30 GHz. The governor "interactive" may decide which speed to use within this range. current CPU frequency is 480 MHz. cpufreq stats: 60.0 MHz:0.00%, 120 MHz:0.00%, 240 MHz:0.00%, 312 MHz:0.00%, 408 MHz:0.00%, 480 MHz:72.35%, 504 MHz:0.00%, 600 MHz:0.03%, 648 MHz:0.02%, 720 MHz:0.00%, 816 MHz:0.00%, 912 MHz:0.00%, 1.01 GHz:1.66%, 1.10 GHz:0.07%, 1.20 GHz:1.52%, 1.30 GHz:24.33%, 1.34 GHz:0.00%, 1.44 GHz:0.00%, 1.54 GHz:0.00% (64) I don't understand why hardware limits are 480 Mhz - 1.2 Ghz but the CPU is allowed to do transitions up to 1.3 Ghz? Benchmarks confirm the CPU is running at 1.3Ghz as maximum frequency. I removed the 1296 Mhz reference from cooler_table and adjust it too, but nothing changed. Is there something I'm missing?
tkaiser Posted April 17, 2016 Posted April 17, 2016 Hmm... I would exchange 1200 with 1296 in dvfs_table and cooler table (unless you allow it there too no switching to higher frequencies will happen), adjust the value in /etc/default/cpufrequtils and try again. No idea what cpufreq-info is reporting since I always disable cpufrequtils when starting tests and when a board is in productive use I also don't use the tool (but Monitoring using SNMP or RPi-Monitor instead).
jock Posted April 17, 2016 Author Posted April 17, 2016 Thanks for the hint, I changed /etc/default/cpufrequtils with a maximum frequency of 1200 Mhz. Still I don't understand why cpufreq-info proposes all the frequency steps, as long as the sunxi driver should report the frequencies given in the dvfs table...
tkaiser Posted April 17, 2016 Posted April 17, 2016 Still I don't understand why cpufreq-info proposes all the frequency steps, as long as the sunxi driver should report the frequencies given in the dvfs table... Maybe looking into /sys/devices/system/cpu/cpu0/cpufreq/stats/ will answer this? One thing is which cpufreq operating points are defined in kernel sources, another which dvfs operating points are defined/allowed in cooler_table and also another how cpufrequtils configure the kernel through sysfs when installed and running.
dony71 Posted April 27, 2016 Posted April 27, 2016 is there anyway to find frequency vs voltage table from linux?
Recommended Posts