custom-timeline-functions.cfg 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. #
  2. # This is the configuration file for sleepgraph. It contains
  3. # all the tool arguments so that they don't have to be given on the
  4. # command line. It also includes advanced settings for functions
  5. # and kprobes. It is run like this
  6. #
  7. # sudo ./sleepgraph.py -config thisfile.txt
  8. #
  9. [Settings]
  10. # Verbosity
  11. # print verbose messages (default: false)
  12. verbose: false
  13. # Suspend Mode
  14. # e.g. standby, mem, freeze, disk (default: mem)
  15. mode: mem
  16. # Automatic Wakeup
  17. # Use rtcwake to autoresume after X seconds, or off to disable (default: 15)
  18. rtcwake: 15
  19. # Add Logs
  20. # add the dmesg and ftrace log to the html output (default: false)
  21. addlogs: false
  22. # Display function calls
  23. # graph source functions in the timeline (default: false)
  24. dev: true
  25. # Callgraph
  26. # gather detailed ftrace callgraph data on all timeline events (default: false)
  27. callgraph: false
  28. # Back to Back Suspend/Resume
  29. # Run two suspend/resumes back to back (default: false)
  30. x2: false
  31. # Back to Back Suspend Delay
  32. # Time delay between the two test runs in ms (default: 0 ms)
  33. x2delay: 0
  34. # Minimum Device Length
  35. # graph only devices longer than min in the timeline (default: 0.001 ms)
  36. mindev: 1
  37. # Minimum Callgraph Length
  38. # provide callgraph data for blocks longer than min (default: 0.001 ms)
  39. mincg: 1
  40. # Suspend/Resume Gap
  41. # insert a small visible gap between suspend and resume on the timeline (default: false)
  42. srgap: false
  43. # Output Directory Format
  44. # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values
  45. output-dir: suspend-{hostname}-{date}-{time}-custom
  46. # Override default timeline entries
  47. # Do not use the internal default functions for timeline entries (default: false)
  48. # Set this to true if you intend to only use the ones defined in this config
  49. override-timeline-functions: true
  50. # Override default dev timeline entries
  51. # Do not use the internal default functions for dev timeline entries (default: false)
  52. # Set this to true if you intend to only use the ones defined in this config
  53. override-dev-timeline-functions: true
  54. [timeline_functions_x86_64]
  55. #
  56. # Function calls to display in the timeline alongside device callbacks.
  57. # The tool has an internal set of these functions which should cover the
  58. # whole of kernel execution, but you can append or override here.
  59. #
  60. # This is a list of kprobes which use both symbol data and function arg data.
  61. # The function calls are displayed on the timeline alongside the device blocks.
  62. # The args are pulled directly from the stack using this architecture's registers
  63. # and stack formatting. Three pieces of info are required. The function name,
  64. # a format string, and an argument list
  65. #
  66. # Entry format:
  67. #
  68. # function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
  69. #
  70. # Required Arguments:
  71. #
  72. # function: The symbol name for the function you want probed, this is the
  73. # minimum required for an entry, it will show up as the function
  74. # name with no arguments.
  75. #
  76. # example: _cpu_up:
  77. #
  78. # Optional Arguments:
  79. #
  80. # format: The format to display the data on the timeline in. Use braces to
  81. # enclose the arg names.
  82. #
  83. # example: CPU_ON[{cpu}]
  84. #
  85. # color: The color of the entry block in the timeline. The default color is
  86. # transparent, so the entry shares the phase color. The color is an
  87. # html color string, either a word, or an RGB.
  88. #
  89. # example: [color=#CC00CC]
  90. #
  91. # arglist: A list of arguments from registers/stack addresses. See URL:
  92. # https://www.kernel.org/doc/Documentation/trace/kprobetrace.rst
  93. #
  94. # example: cpu=%di:s32
  95. #
  96. # Example: Display cpu resume in the timeline
  97. #
  98. # _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 [color=orange]
  99. #
  100. _cpu_down: CPU_OFF[{cpu}] cpu=%di:s32
  101. _cpu_up: CPU_ON[{cpu}] cpu=%di:s32
  102. sys_sync:
  103. pm_prepare_console:
  104. pm_notifier_call_chain:
  105. freeze_processes:
  106. freeze_kernel_threads:
  107. pm_restrict_gfp_mask:
  108. acpi_suspend_begin:
  109. suspend_console:
  110. acpi_pm_prepare:
  111. syscore_suspend:
  112. arch_enable_nonboot_cpus_end:
  113. syscore_resume:
  114. acpi_pm_finish:
  115. resume_console:
  116. acpi_pm_end:
  117. pm_restore_gfp_mask:
  118. thaw_processes:
  119. pm_restore_console:
  120. [dev_timeline_functions_x86_64]
  121. #
  122. # Dev mode function calls to display inside timeline entries
  123. #
  124. # This is a list of kprobes which use both symbol data and function arg data.
  125. # The function calls are displayed on the timeline alongside the device blocks.
  126. # The args are pulled directly from the stack using this architecture's registers
  127. # and stack formatting. Three pieces of info are required. The function name,
  128. # a format string, and an argument list
  129. #
  130. # Entry format:
  131. #
  132. # function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
  133. #
  134. # Required Arguments:
  135. #
  136. # function: The symbol name for the function you want probed, this is the
  137. # minimum required for an entry, it will show up as the function
  138. # name with no arguments.
  139. #
  140. # example: ata_eh_recover:
  141. #
  142. # Optional Arguments:
  143. #
  144. # format: The format to display the data on the timeline in. Use braces to
  145. # enclose the arg names.
  146. #
  147. # example: ata{port}_port_reset
  148. #
  149. # color: The color of the entry block in the timeline. The default color is
  150. # transparent, so the entry shares the phase color. The color is an
  151. # html color string, either a word, or an RGB.
  152. #
  153. # example: [color=#CC00CC]
  154. #
  155. # arglist: A list of arguments from registers/stack addresses. See URL:
  156. # https://www.kernel.org/doc/Documentation/trace/kprobetrace.rst
  157. #
  158. # example: port=+36(%di):s32
  159. #
  160. # Example: Display ATA port reset as ataN_port_reset in the timeline
  161. #
  162. # ata_eh_recover: ata{port}_port_reset port=+36(%di):s32
  163. #
  164. msleep: msleep time=%di:s32
  165. schedule_timeout_uninterruptible: schedule_timeout_uninterruptible timeout=%di:s32
  166. schedule_timeout: schedule_timeout timeout=%di:s32
  167. usleep_range: usleep_range min=%di:s32 max=%si:s32
  168. __const_udelay: udelay loops=%di:s32
  169. __mutex_lock_slowpath: mutex_lock_slowpath
  170. ata_eh_recover: ata_eh_recover port=+36(%di):s32
  171. acpi_os_stall:
  172. acpi_resume_power_resources:
  173. acpi_ps_parse_aml:
  174. ext4_sync_fs:
  175. i915_gem_resume:
  176. i915_restore_state:
  177. intel_opregion_setup:
  178. g4x_pre_enable_dp:
  179. vlv_pre_enable_dp:
  180. chv_pre_enable_dp:
  181. g4x_enable_dp:
  182. vlv_enable_dp:
  183. intel_hpd_init:
  184. intel_opregion_register:
  185. intel_dp_detect:
  186. intel_hdmi_detect:
  187. intel_opregion_init:
  188. intel_fbdev_set_suspend: