If enabled, the kernel might cut power to individual APU cores when they
are idling. The required kernel configurations are as follows:
- CPU Power Management
- CPU Idle
- [*] CPU idle PM support
- [*] Ladder governor (for periodic timer tick)
- -*- Menu governor (for tickless system)
-
Arm CPU Idle Drivers
- [*] Generic ARM/ARM64 CPU idle Driver
- [*] PSCI CPU idle Driver
- Example 1
- The following code example is the sysfs interface for
cpuidle.
$ ls -lR /sys/devices/system/cpu/cpu0/cpuidle/ /sys/devices/system/cpu/cpu0/cpuidle/: drwxr-xr-x 2 root root 0 Jun 10 21:55 state0 drwxr-xr-x 2 root root 0 Jun 10 21:55 state1 /sys/devices/system/cpu/cpu0/cpuidle/state0: -r--r--r-- 1 root root 4096 Jun 10 21:55 desc -rw-r--r-- 1 root root 4096 Jun 10 21:55 disable -r--r--r-- 1 root root 4096 Jun 10 21:55 latency -r--r--r-- 1 root root 4096 Jun 10 21:55 name -r--r--r-- 1 root root 4096 Jun 10 21:55 power -r--r--r-- 1 root root 4096 Jun 10 21:55 residency -r--r--r-- 1 root root 4096 Jun 10 21:55 time -r--r--r-- 1 root root 4096 Jun 10 21:55 usage /sys/devices/system/cpu/cpu0/cpuidle/state1: -r--r--r-- 1 root root 4096 Jun 10 21:55 desc -rw-r--r-- 1 root root 4096 Jun 10 21:55 disable -r--r--r-- 1 root root 4096 Jun 10 21:55 latency -r--r--r-- 1 root root 4096 Jun 10 21:55 name -r--r--r-- 1 root root 4096 Jun 10 21:55 power -r--r--r-- 1 root root 4096 Jun 10 21:55 residency -r--r--r-- 1 root root 4096 Jun 10 21:55 time -r--r--r-- 1 root root 4096 Jun 10 21:55 usage
where:
- desc
- Small description about the idle state (string)
- disable
- Option to disable this idle state (bool)
- latency
- Latency to exit out of this idle state (in microseconds)
- name
- Name of the idle state (string)
- power
- Power consumed while in this idle state (in milliwatts)
- time
- Total time spent in this idle state (in microseconds)
- usage
- Number of times this state was entered (count)
- Example 2
- The following code example is the sysfs interface for cpuidle
governors.
$ ls -lR /sys/devices/system/cpu/cpuidle/ /sys/devices/system/cpu/cpuidle/: -r--r--r-- 1 root root 4096 Jun 10 21:55 current_driver -r--r--r-- 1 root root 4096 Jun 10 21:55 current_governor_ro */
For more information, refer to the following resources: