sysfs.txt 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. Supporting multiple CPU idle levels in kernel
  2. cpuidle sysfs
  3. System global cpuidle related information and tunables are under
  4. /sys/devices/system/cpu/cpuidle
  5. The current interfaces in this directory has self-explanatory names:
  6. * current_driver
  7. * current_governor_ro
  8. With cpuidle_sysfs_switch boot option (meant for developer testing)
  9. following objects are visible instead.
  10. * current_driver
  11. * available_governors
  12. * current_governor
  13. In this case users can switch the governor at run time by writing
  14. to current_governor.
  15. Per logical CPU specific cpuidle information are under
  16. /sys/devices/system/cpu/cpuX/cpuidle
  17. for each online cpu X
  18. --------------------------------------------------------------------------------
  19. # ls -lR /sys/devices/system/cpu/cpu0/cpuidle/
  20. /sys/devices/system/cpu/cpu0/cpuidle/:
  21. total 0
  22. drwxr-xr-x 2 root root 0 Feb 8 10:42 state0
  23. drwxr-xr-x 2 root root 0 Feb 8 10:42 state1
  24. drwxr-xr-x 2 root root 0 Feb 8 10:42 state2
  25. drwxr-xr-x 2 root root 0 Feb 8 10:42 state3
  26. /sys/devices/system/cpu/cpu0/cpuidle/state0:
  27. total 0
  28. -r--r--r-- 1 root root 4096 Feb 8 10:42 desc
  29. -rw-r--r-- 1 root root 4096 Feb 8 10:42 disable
  30. -r--r--r-- 1 root root 4096 Feb 8 10:42 latency
  31. -r--r--r-- 1 root root 4096 Feb 8 10:42 name
  32. -r--r--r-- 1 root root 4096 Feb 8 10:42 power
  33. -r--r--r-- 1 root root 4096 Feb 8 10:42 residency
  34. -r--r--r-- 1 root root 4096 Feb 8 10:42 time
  35. -r--r--r-- 1 root root 4096 Feb 8 10:42 usage
  36. /sys/devices/system/cpu/cpu0/cpuidle/state1:
  37. total 0
  38. -r--r--r-- 1 root root 4096 Feb 8 10:42 desc
  39. -rw-r--r-- 1 root root 4096 Feb 8 10:42 disable
  40. -r--r--r-- 1 root root 4096 Feb 8 10:42 latency
  41. -r--r--r-- 1 root root 4096 Feb 8 10:42 name
  42. -r--r--r-- 1 root root 4096 Feb 8 10:42 power
  43. -r--r--r-- 1 root root 4096 Feb 8 10:42 residency
  44. -r--r--r-- 1 root root 4096 Feb 8 10:42 time
  45. -r--r--r-- 1 root root 4096 Feb 8 10:42 usage
  46. /sys/devices/system/cpu/cpu0/cpuidle/state2:
  47. total 0
  48. -r--r--r-- 1 root root 4096 Feb 8 10:42 desc
  49. -rw-r--r-- 1 root root 4096 Feb 8 10:42 disable
  50. -r--r--r-- 1 root root 4096 Feb 8 10:42 latency
  51. -r--r--r-- 1 root root 4096 Feb 8 10:42 name
  52. -r--r--r-- 1 root root 4096 Feb 8 10:42 power
  53. -r--r--r-- 1 root root 4096 Feb 8 10:42 residency
  54. -r--r--r-- 1 root root 4096 Feb 8 10:42 time
  55. -r--r--r-- 1 root root 4096 Feb 8 10:42 usage
  56. /sys/devices/system/cpu/cpu0/cpuidle/state3:
  57. total 0
  58. -r--r--r-- 1 root root 4096 Feb 8 10:42 desc
  59. -rw-r--r-- 1 root root 4096 Feb 8 10:42 disable
  60. -r--r--r-- 1 root root 4096 Feb 8 10:42 latency
  61. -r--r--r-- 1 root root 4096 Feb 8 10:42 name
  62. -r--r--r-- 1 root root 4096 Feb 8 10:42 power
  63. -r--r--r-- 1 root root 4096 Feb 8 10:42 residency
  64. -r--r--r-- 1 root root 4096 Feb 8 10:42 time
  65. -r--r--r-- 1 root root 4096 Feb 8 10:42 usage
  66. --------------------------------------------------------------------------------
  67. * desc : Small description about the idle state (string)
  68. * disable : Option to disable this idle state (bool) -> see note below
  69. * latency : Latency to exit out of this idle state (in microseconds)
  70. * residency : Time after which a state becomes more effecient than any
  71. shallower state (in microseconds)
  72. * name : Name of the idle state (string)
  73. * power : Power consumed while in this idle state (in milliwatts)
  74. * time : Total time spent in this idle state (in microseconds)
  75. * usage : Number of times this state was entered (count)
  76. Note:
  77. The behavior and the effect of the disable variable depends on the
  78. implementation of a particular governor. In the ladder governor, for
  79. example, it is not coherent, i.e. if one is disabling a light state,
  80. then all deeper states are disabled as well, but the disable variable
  81. does not reflect it. Likewise, if one enables a deep state but a lighter
  82. state still is disabled, then this has no effect.