| Venkatesh Pallipadi | fe8e288 | 2008-02-14 00:16:13 -0500 | [diff] [blame] | 1 |  | 
|  | 2 |  | 
|  | 3 | Supporting multiple CPU idle levels in kernel | 
|  | 4 |  | 
|  | 5 | cpuidle sysfs | 
|  | 6 |  | 
|  | 7 | System global cpuidle related information and tunables are under | 
|  | 8 | /sys/devices/system/cpu/cpuidle | 
|  | 9 |  | 
|  | 10 | The current interfaces in this directory has self-explanatory names: | 
|  | 11 | * current_driver | 
|  | 12 | * current_governor_ro | 
|  | 13 |  | 
|  | 14 | With cpuidle_sysfs_switch boot option (meant for developer testing) | 
|  | 15 | following objects are visible instead. | 
|  | 16 | * current_driver | 
|  | 17 | * available_governors | 
|  | 18 | * current_governor | 
|  | 19 | In this case users can switch the governor at run time by writing | 
|  | 20 | to current_governor. | 
|  | 21 |  | 
|  | 22 |  | 
|  | 23 | Per logical CPU specific cpuidle information are under | 
|  | 24 | /sys/devices/system/cpu/cpuX/cpuidle | 
|  | 25 | for each online cpu X | 
|  | 26 |  | 
|  | 27 | -------------------------------------------------------------------------------- | 
|  | 28 | # ls -lR /sys/devices/system/cpu/cpu0/cpuidle/ | 
|  | 29 | /sys/devices/system/cpu/cpu0/cpuidle/: | 
|  | 30 | total 0 | 
|  | 31 | drwxr-xr-x 2 root root 0 Feb  8 10:42 state0 | 
|  | 32 | drwxr-xr-x 2 root root 0 Feb  8 10:42 state1 | 
|  | 33 | drwxr-xr-x 2 root root 0 Feb  8 10:42 state2 | 
|  | 34 | drwxr-xr-x 2 root root 0 Feb  8 10:42 state3 | 
|  | 35 |  | 
|  | 36 | /sys/devices/system/cpu/cpu0/cpuidle/state0: | 
|  | 37 | total 0 | 
|  | 38 | -r--r--r-- 1 root root 4096 Feb  8 10:42 desc | 
|  | 39 | -r--r--r-- 1 root root 4096 Feb  8 10:42 latency | 
|  | 40 | -r--r--r-- 1 root root 4096 Feb  8 10:42 name | 
|  | 41 | -r--r--r-- 1 root root 4096 Feb  8 10:42 power | 
|  | 42 | -r--r--r-- 1 root root 4096 Feb  8 10:42 time | 
|  | 43 | -r--r--r-- 1 root root 4096 Feb  8 10:42 usage | 
|  | 44 |  | 
|  | 45 | /sys/devices/system/cpu/cpu0/cpuidle/state1: | 
|  | 46 | total 0 | 
|  | 47 | -r--r--r-- 1 root root 4096 Feb  8 10:42 desc | 
|  | 48 | -r--r--r-- 1 root root 4096 Feb  8 10:42 latency | 
|  | 49 | -r--r--r-- 1 root root 4096 Feb  8 10:42 name | 
|  | 50 | -r--r--r-- 1 root root 4096 Feb  8 10:42 power | 
|  | 51 | -r--r--r-- 1 root root 4096 Feb  8 10:42 time | 
|  | 52 | -r--r--r-- 1 root root 4096 Feb  8 10:42 usage | 
|  | 53 |  | 
|  | 54 | /sys/devices/system/cpu/cpu0/cpuidle/state2: | 
|  | 55 | total 0 | 
|  | 56 | -r--r--r-- 1 root root 4096 Feb  8 10:42 desc | 
|  | 57 | -r--r--r-- 1 root root 4096 Feb  8 10:42 latency | 
|  | 58 | -r--r--r-- 1 root root 4096 Feb  8 10:42 name | 
|  | 59 | -r--r--r-- 1 root root 4096 Feb  8 10:42 power | 
|  | 60 | -r--r--r-- 1 root root 4096 Feb  8 10:42 time | 
|  | 61 | -r--r--r-- 1 root root 4096 Feb  8 10:42 usage | 
|  | 62 |  | 
|  | 63 | /sys/devices/system/cpu/cpu0/cpuidle/state3: | 
|  | 64 | total 0 | 
|  | 65 | -r--r--r-- 1 root root 4096 Feb  8 10:42 desc | 
|  | 66 | -r--r--r-- 1 root root 4096 Feb  8 10:42 latency | 
|  | 67 | -r--r--r-- 1 root root 4096 Feb  8 10:42 name | 
|  | 68 | -r--r--r-- 1 root root 4096 Feb  8 10:42 power | 
|  | 69 | -r--r--r-- 1 root root 4096 Feb  8 10:42 time | 
|  | 70 | -r--r--r-- 1 root root 4096 Feb  8 10:42 usage | 
|  | 71 | -------------------------------------------------------------------------------- | 
|  | 72 |  | 
|  | 73 |  | 
|  | 74 | * desc : Small description about the idle state (string) | 
|  | 75 | * latency : Latency to exit out of this idle state (in microseconds) | 
|  | 76 | * name : Name of the idle state (string) | 
|  | 77 | * power : Power consumed while in this idle state (in milliwatts) | 
|  | 78 | * time : Total time spent in this idle state (in microseconds) | 
|  | 79 | * usage : Number of times this state was entered (count) |