DVFS Usser Guide

参考文章DVFS User Guide

What is DVFS

Dynamic Voltage and Frequency scaling is a framework to change the frequency
and/or operating voltage of a processor(s) based on system performance
requirements at the given point of time

CPUFreq consists two elements

  • The Governor - that makes decisions
  • The Driver - acts based on the decisions made by the governor

Usage

To list all available governors

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

To see current active governor

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

To switch to a different governor(e.g. to switch to ‘userspace’ governor)

echo -n "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Show current frequency of a cpu

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

Show All available frequencies

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

when the frequency is changed, system voltage is also changed to meet the new requirements as part of scaling: This is done in two ways

  • when new frequency is higher (moving to high power state/opp) Voltage is increased first then the frequency,
  • when new frequency is lower (moving to low power state/opp) Frequency is reduced first then the voltage.