It defines the basic framework in which the other components operate. As stated before, each of them implements a single, possibly parametrized, performance scaling algorithm. First you have to choose the governor you want to use. As a rule, the higher the clock frequency and the higher the voltage, the more instructions can be retired by the CPU over a unit of time, but also the higher the clock frequency and the higher the voltage, the more energy is consumed over a unit of time or the more power is drawn by the CPU in the given P-state. If you have selected the “userspace” governor which allows you to.

Uploader: Tugrel
Date Added: 13 November 2012
File Size: 54.97 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 78837
Price: Free* [*Free Regsitration Required]

This qmd be best used in a battery powered environment. That directory contains a policyX subdirectory where X represents an integer number for every policy object maintained by the CPUFreq core. If not then use the CPU info you found and figure out which module you need to load. The worker routine of this governor has to run in process context, so it is invoked asynchronously via a workqueue and CPU P-states are updated from there if necessary.

When you installed your system there is a very good chance your CPU was detected by default and the module you need for for scaling is ammd running.


Documentation/cpu-freq/ – kernel/common – Git at Google

The CPUFreq governors tested were conservative, ondemand, performance, powersave, and schedutil. If this tunable is per-policy, the following shell command sets the time represented by it to be times as high as the transition latency:. Then run the command to load it.

Such a “governor” decides. Boosting means overclocking the processor, although under controlled conditions. That may not be desirable on systems that switch to power sources akd limited capacity, such as batteries, so smd ability to disable the boost mechanism while the system is running may help there but that depends on the workload too. If you smd to set the sampling rate to 1 second you would set it to like in the following example.

For this reason, many systems make it possible to disable the frequency boost mechanism in the platform firmware BIOS setup, but that requires the system to be restarted for the setting to be adjusted as desired, which may not be practical at least in some cases. Then when it bounces back it’s already scaled up from the last bounce. To see both just do the following. In principle, all available scaling governors can be used with every scaling driver.

It runs entirely in scheduler context, although in some cases it may need to invoke the scaling driver asynchronously when it decides that the CPU frequency should be changed for a given policy that depends on whether or not the driver is capable of changing the CPU frequency from cpurfeq context.


acpi-cpufreq: Add support for modern AMD CPUs []

Several “PowerBook” and “iBook2” notebooks are supported. These will help you find out things like the current frequency of your processor or what available frequencies your CPU can scale to.

Namely, it avoids changing cpufres frequency significantly over short time intervals which may not be suitable for systems with limited power supply capacity e. The actual implementation, however, works on the system-wide basis and setting that knob for one policy causes the same value of it to be set for all of the other policies at the same time. Minimum time in microseconds that has to pass between cpuferq consecutive runs of governor computations default: If this tunable is per-policy, the following shell command sets the time represented by it to be times as high as the transition latency: Powersave governor – CPU runs at min frequency regardless of load.

This keeps it up until the process is complete for all cores. As a last resort if any of these don’t cpufrqe you can try the generic one for ACPI. Yours may be the same way.

acpi-cpufreq: Add support for modern AMD CPUs

Look at the output from lsmod above and use the modules names after the word “modprobe” below to see if you already have a module loaded.


The policy objects created during CPU initialization and other data structures associated with them are torn down when the scaling driver is unregistered which happens when the kernel module containing it is unloaded, for example or when the last CPU belonging to the given policy in unregistered.

That mask is then used by the core to populate the policy pointers for all of the CPUs in it.

CPU frequency scaling in Linux with cpufreq Posted on Minimum frequency the CPUs belonging to this policy are allowed to be running at in kHz. Performance governor – CPU runs at max frequency regardless of load.

So if you have any we are going remove them now. After you know this then you will know what kernel module you will need to load for it. It will also lower the temperature of your processor cputreq to keep your machine cooler.