# Idle power management

Idle power management, also known as CPU idle power management, keeps
the CPU cores in the appropriate sleep state for efficient use of energy
when the device is idle.

Note

Idle power management is enabled for QCS6490/QCS5430. For QCS9075 this feature is available in the base version distribution.

## CPU sleep states

A CPU core supports multiple sleep states. Each sleep state has
associated entry and exit latencies and different levels of power
consumption. The selection of sleep state of a core depends on how
quickly that core is required again for another execution.

Each CPU sleep state is represented by a C-state number. Each C-state is
associated with two key parameters:

- Power saving: The power saving of the CPU increases as you select
higher C-states, but it results in increased wake-up latency.
- Wake-up latency: This is the time taken to transition a CPU core from
sleep state to running state.

For example, a deeper sleep state (C4) has higher wake-up latency and
lower power consumption as shown in the following figure.

![../../_images/latencypowersaving_1.png](data:image/png;base64,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)

**Figure : Tradeoff between power and latency**

Use the following command to view the latencies of CPU sleep state:

cat /sys/devices/system/cpu/cpu<X>/cpuidle/state<Y>/latency
    Copy to clipboard

Note

Here, `<X>` represents the core ID, which varies from 0 to 7, and `<Y>` is the index of the Linux power state (0, 1, 2). The
Linux power states are defined in the following table.

You can study and configure sleep states to tune applications for
balanced power and performance.

The following table lists the supported CPU sleep states and their
associated C-state numbers:

Note

The CPU sleep states are enabled by default.

Table : Supported core power state

| CPU sleep state | Description | Linux power state |
| --- | --- | --- |
| C1 | <ul class="simple"><br><li><p>CPU core clock domain off</p></li><br><li><p>Power domains <code class="docutils literal notranslate"><span class="pre">VDD_APC0/</span> <span class="pre">VDD_APC1</span></code> on</p></li><br><li><p>Generic interrupt controller (GIC) clock on</p></li><br></ul> | State0 (S0) |
| C3 | <ul class="simple"><br><li><p>CPU core clock domain off</p></li><br><li><p>Core power collapse with L1 and L2 cache flushed</p></li><br><li><p>Power domains <code class="docutils literal notranslate"><span class="pre">VDD_APC0/</span> <span class="pre">VDD_APC1</span></code> on</p></li><br></ul> | State1 (S1) |
| C4 | <ul class="simple"><br><li><p>C3 + PLL off for the Silver cluster</p></li><br><li><p>C3+ PLL power domains off for the Gold and the Prime<br>clusters</p></li><br></ul> | State2 (S2) |

## Enable/Disable CPU sleep state

The following table lists how to configure CPU sleep states:

Note

If you change the configuration of a sleep state, you should check the power impact on the device.

| Linux power state | Enable/Disable | Commands |
| --- | --- | --- |
| S0 | Enable | echo 0 > /sys/devices/system/cpu/cpu<X>/cpuidle/state0/disable<br>    Copy to clipboard |
| S0 | Disable | echo 1 > /sys/devices/system/cpu/cpu<X>/cpuidle/state0/disable<br>    Copy to clipboard |
| S1 | Enable | echo 0 > /sys/devices/system/cpu/cpu<X>/cpuidle/state1/disable<br>    Copy to clipboard |
| S1 | Disable | echo 1 > /sys/devices/system/cpu/cpu<X>/cpuidle/state1/disable<br>    Copy to clipboard |
| S2 | Enable | echo 0 > /sys/devices/system/cpu/cpu<X>/cpuidle/state2/disable<br>    Copy to clipboard |
| S2 | Disable | echo 1 > /sys/devices/system/cpu/cpu<X>/cpuidle/state2/disable<br>    Copy to clipboard |
|  |  |  |

Note

`<X>` denotes the core ID, which varies from 0 to 7.

## Check CPU idle statistics

To check the statistics of CPU core sleep states run the following
command:

cat /sys/devices/system/cpu/cpu<X>/cpuidle/state<Y>/usage
    Copy to clipboard

Here, `<X>` is the core ID, which varies from 0 to 7, and `<Y>` is
the index of the Linux power state (0, 1, and 2).

The following is an example of the output:

cd /sys/devices/system/cpu

grep -r “” cpu\*/cpuidle/\*/usage

cpu0/cpuidle/state0/usage:97681

cpu0/cpuidle/state1/usage:95

cpu1/cpuidle/state0/usage:180055

cpu1/cpuidle/state1/usage:59

Note

The `usage` count represents the number of times `cpu<X>` enters a Linux power state.

Last Published: Jan 26, 2025

[Previous Topic
Dynamic voltage and frequency scaling](https://docs.qualcomm.com/bundle/publicresource/80-70017-30/topics/dcvs.md) [Next Topic
Suspend Power Management state](https://docs.qualcomm.com/bundle/publicresource/80-70017-30/topics/suspend-power-management-state.md)

Source: [https://docs.qualcomm.com/doc/80-70017-30/topic/idlepowermanagement.html](https://docs.qualcomm.com/doc/80-70017-30/topic/idlepowermanagement.html)