DVFS modes in Linux

In Linux (well, kernel versions 2.6.9 and later), DVFS is managed through a kernel subsystem called cpufreq. A set of pseudofiles in the /sys directory allows the user to query the system and set certain parameters of cpufreq. Using these files, you can discover the DVFS modes available on your system.

The Linux kernel manages cpufreq data individually for each logical processor (physical processor, core, or HT thread) available in your system. The cpufreq pseudofiles for logical processor X (where X is an index into the processor table) are in the directory

/sys/devices/system/cpu/cpuX/cpufreq/

Since all systems must contain a zero-th CPU, by issuing the following command:

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

we can get the list of available DVFS modes. Here is the output of the command on my Sony Vaio laptop:

For my system, then, here are the DVFS modes in both frequencies (as reported by the above command) and percentages (by dividing by the highest frequency):

DVFS state (frequency) DVFS state (%)
2000000 1
1667000 0.83
1333000 0.67
1000000 0.5
  • Share/Bookmark