How To Wiki
Advertisement

Howto configure the Linux kernel / drivers / cpufreq



  • Option: CPU_FREQ
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) CPU Frequency scaling
      CPU Frequency scaling allows you to change the clock speed of CPUs on the fly. This is a nice method to save power, because the lower the CPU clock speed, the less power the CPU consumes.
      Note that this driver doesn't automatically change the CPU clock speed, you need to either enable a dynamic cpufreq governor (see below) after boot, or use a userspace tool.
      For details, take a look at <file:Documentation/cpu-freq>.
      If in doubt, say N.

CPU_FREQ


  • Option: CPU_FREQ_TABLE
    • Kernel Versions: 2.6.15.6 ... def_tristate m


  • Option: CPU_FREQ_DEBUG
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Enable CPUfreq debugging
      Say Y here to enable CPUfreq subsystem (including drivers) debugging. You will need to activate it via the kernel command line by passing cpufreq.debug=<value>
      To get <value>, add 1 to activate CPUfreq core debugging, 2 to activate CPUfreq drivers debugging, and 4 to activate CPUfreq governor debugging


  • Option: CPU_FREQ_STAT
    • Kernel Versions: 2.6.15.6 ... tristate CPU frequency translation statistics select CPU_FREQ_TABLE default y help This driver exports CPU frequency statistics information through sysfs file system


  • Option: CPU_FREQ_STAT_DETAILS
    • Kernel Versions: 2.6.15.6 ... bool CPU frequency translation statistics details depends on CPU_FREQ_STAT help This will show detail CPU frequency translation table in sysfs file system
Note that it is not currently possible to set the other governors (such as ondemand)
as the default, since if they fail to initialise, cpufreq will be
left in an undefined state.


"Default CPUFreq governor"

    • default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
    • default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
      This option sets which CPUFreq governor shall be loaded at startup. If in doubt, select 'performance'.


  • Option: CPU_FREQ_DEFAULT_GOV_PERFORMANCE
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) performance
    • select CPU_FREQ_GOV_PERFORMANCE
      Use the CPUFreq governor 'performance' as default. This sets the frequency statically to the highest frequency supported by the CPU.


  • Option: CPU_FREQ_DEFAULT_GOV_USERSPACE
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) userspace
    • select CPU_FREQ_GOV_USERSPACE
      Use the CPUFreq governor 'userspace' as default. This allows you to set the CPU frequency manually or when an userspace program shall be able to set the CPU dynamically without having to enable the userspace governor manually.



  • Option: CPU_FREQ_GOV_PERFORMANCE
    • Kernel Versions: 2.6.15.6 ... tristate 'performance' governor help This cpufreq governor sets the frequency statically to the highest available CPU frequency.
      If in doubt, say Y.


  • Option: CPU_FREQ_GOV_POWERSAVE
    • Kernel Versions: 2.6.15.6 ... tristate 'powersave' governor help This cpufreq governor sets the frequency statically to the lowest available CPU frequency.
      If in doubt, say Y.


  • Option: CPU_FREQ_GOV_USERSPACE
    • Kernel Versions: 2.6.15.6 ... tristate 'userspace' governor for userspace frequency scaling help Enable this cpufreq governor when you either want to set the CPU frequency manually or when an userspace program shall be able to set the CPU dynamically, like on LART <http://www.lart.tudelft.nl/>
      For details, take a look at <file:Documentation/cpu-freq/>.
      If in doubt, say Y.


  • Option: CPU_FREQ_GOV_ONDEMAND
    • Kernel Versions: 2.6.15.6 ...
    • (on/off/module) 'ondemand' cpufreq policy governor
      'ondemand' - This driver adds a dynamic cpufreq policy governor. The governor does a periodic polling and changes frequency based on the CPU utilization. The support for this governor depends on CPU capability to do fast frequency switching (i.e., very low latency frequency transitions).
      For details, take a look at linux/Documentation/cpu-freq.
      If in doubt, say N.


  • Option: CPU_FREQ_GOV_CONSERVATIVE
    • Kernel Versions: 2.6.15.6 ...
    • (on/off/module) 'conservative' cpufreq governor
    • depends on CPU_FREQ
      'conservative' - this driver is rather similar to the 'ondemand' governor both in its source code and its purpose, the difference is its optimisation for better suitability in a battery powered environment. The frequency is gracefully increased and decreased rather than jumping to 100% when speed is required.
      If you have a desktop machine then you should really be considering the 'ondemand' governor instead, however if you are using a laptop, PDA or even an AMD64 based computer (due to the unacceptable step-by-step latency issues between the minimum and maximum frequency transitions in the CPU) you will probably want to use this governor.
      For details, take a look at linux/Documentation/cpu-freq.
      If in doubt, say N.
CPU_FREQ


Linux Kernel Configuration

Advertisement