The Linux kernel uses several power management strategies:

  • Dynamic voltage frequency scaling (DVFS) adjusts the CPU frequency and the different voltages depending on the system’s load. The combination of a CPU frequency and a set of voltages for that frequency is called an operating point.

  • Suspend to memory allows for the system to sleep waiting for an event. On suspend, all system devices, including CPU and memory, enter low power mode. On resume, the system will continue from the same state it was in before it suspended.

  • Power off, which brings the system to a halt until an event wakes the system. On power off the system power remains enabled and the system is placed on its lowest consumption mode. On wake up, the bootloader starts up again and the system is initialized.

Dynamic Voltage Frequency Scaling

Dynamic Voltage Frequency Scaling is enabled by default, so the CPU frequency and voltages of a running system will adapt to the system’s load.

You can list, read, and configure the cpu frequency from your Android application. See Configure CPU frequencies.

The DVFS subsystem can be configured with different governors that control its behavior. See Configure governors.