{{{#!html
Modern processors allow their core clocks to be scaled in order to trade-off performance vs power or simple to save power when performance is not needed. This is referred to as 'Dynamic Frequency Scaling'. In some cases processors also allow you to scale the core voltages down when using lower clock-speeds which is referred to as 'Dynamic Voltage Scaling'.
The Gateworks Ventana family based off the Freescale i.MX6 CPU family allows DVFS
The linux kernel provides a DVFS framework that allows each CPU core to have a min/max frequency and a governor that governs it. A sysfs API exists which is used by the cpufreq-utils package.
Governors are kernel models that can drive CPU core frequency/voltage operating points based on an algorithm. Currently the following governors exist:
Each cpu has an entry in sysfs at /sys/devices/system/cpu/cpu<n>/cpufreq/ at /sys/devices/system/cpuwith the following files:
Examples:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo 396000 > /sys/devices/system/cpu/cpu0/cpufreq/setspeed echo 792000 > /sys/devices/system/cpu/cpu0/cpufreq/setspeed echo 996000 > /sys/devices/system/cpu/cpu0/cpufreq/setspeed