18c2ecf20Sopenharmony_ci#
28c2ecf20Sopenharmony_ci# This is the configuration file for sleepgraph. It contains
38c2ecf20Sopenharmony_ci# all the tool arguments so that they don't have to be given on the
48c2ecf20Sopenharmony_ci# command line. It also includes advanced settings for functions
58c2ecf20Sopenharmony_ci# and kprobes. It is run like this
68c2ecf20Sopenharmony_ci#
78c2ecf20Sopenharmony_ci#    sudo ./sleepgraph.py -config thisfile.txt
88c2ecf20Sopenharmony_ci#
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci[Settings]
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci# Verbosity
138c2ecf20Sopenharmony_ci# print verbose messages (default: false)
148c2ecf20Sopenharmony_civerbose: false
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci# Suspend Mode
178c2ecf20Sopenharmony_ci# e.g. standby, mem, freeze, disk (default: mem)
188c2ecf20Sopenharmony_cimode: mem
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci# Automatic Wakeup
218c2ecf20Sopenharmony_ci# Use rtcwake to autoresume after X seconds, or off to disable (default: 15)
228c2ecf20Sopenharmony_cirtcwake: 15
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci# Add Logs
258c2ecf20Sopenharmony_ci# add the dmesg and ftrace log to the html output (default: false)
268c2ecf20Sopenharmony_ciaddlogs: false
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci# Display function calls
298c2ecf20Sopenharmony_ci# graph source functions in the timeline (default: false)
308c2ecf20Sopenharmony_cidev: true
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci# Callgraph
338c2ecf20Sopenharmony_ci# gather detailed ftrace callgraph data on all timeline events (default: false)
348c2ecf20Sopenharmony_cicallgraph: false
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci# Back to Back Suspend/Resume
378c2ecf20Sopenharmony_ci# Run two suspend/resumes back to back (default: false)
388c2ecf20Sopenharmony_cix2: false
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci# Back to Back Suspend Delay
418c2ecf20Sopenharmony_ci# Time delay between the two test runs in ms (default: 0 ms)
428c2ecf20Sopenharmony_cix2delay: 0
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci# Minimum Device Length
458c2ecf20Sopenharmony_ci# graph only devices longer than min in the timeline (default: 0.001 ms)
468c2ecf20Sopenharmony_cimindev: 1
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci# Minimum Callgraph Length
498c2ecf20Sopenharmony_ci# provide callgraph data for blocks longer than min (default: 0.001 ms)
508c2ecf20Sopenharmony_cimincg: 1
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci# Suspend/Resume Gap
538c2ecf20Sopenharmony_ci# insert a small visible gap between suspend and resume on the timeline (default: false)
548c2ecf20Sopenharmony_cisrgap: false
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci# Output Directory Format
578c2ecf20Sopenharmony_ci# output folder for html, ftrace, and dmesg. Use {date} and {time} for current values
588c2ecf20Sopenharmony_cioutput-dir: suspend-{hostname}-{date}-{time}-custom
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci# Override default timeline entries
618c2ecf20Sopenharmony_ci# Do not use the internal default functions for timeline entries (default: false)
628c2ecf20Sopenharmony_ci# Set this to true if you intend to only use the ones defined in this config
638c2ecf20Sopenharmony_cioverride-timeline-functions: true
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci# Override default dev timeline entries
668c2ecf20Sopenharmony_ci# Do not use the internal default functions for dev timeline entries (default: false)
678c2ecf20Sopenharmony_ci# Set this to true if you intend to only use the ones defined in this config
688c2ecf20Sopenharmony_cioverride-dev-timeline-functions: true
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci[timeline_functions_x86_64]
718c2ecf20Sopenharmony_ci#
728c2ecf20Sopenharmony_ci# Function calls to display in the timeline alongside device callbacks.
738c2ecf20Sopenharmony_ci# The tool has an internal set of these functions which should cover the
748c2ecf20Sopenharmony_ci# whole of kernel execution, but you can append or override here.
758c2ecf20Sopenharmony_ci#
768c2ecf20Sopenharmony_ci# This is a list of kprobes which use both symbol data and function arg data.
778c2ecf20Sopenharmony_ci# The function calls are displayed on the timeline alongside the device blocks.
788c2ecf20Sopenharmony_ci# The args are pulled directly from the stack using this architecture's registers
798c2ecf20Sopenharmony_ci# and stack formatting. Three pieces of info are required. The function name,
808c2ecf20Sopenharmony_ci# a format string, and an argument list
818c2ecf20Sopenharmony_ci#
828c2ecf20Sopenharmony_ci# Entry format:
838c2ecf20Sopenharmony_ci#
848c2ecf20Sopenharmony_ci#   function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
858c2ecf20Sopenharmony_ci#
868c2ecf20Sopenharmony_ci# Required Arguments:
878c2ecf20Sopenharmony_ci#
888c2ecf20Sopenharmony_ci#   function: The symbol name for the function you want probed, this is the
898c2ecf20Sopenharmony_ci#             minimum required for an entry, it will show up as the function
908c2ecf20Sopenharmony_ci#             name with no arguments.
918c2ecf20Sopenharmony_ci#
928c2ecf20Sopenharmony_ci#       example: _cpu_up:
938c2ecf20Sopenharmony_ci#
948c2ecf20Sopenharmony_ci# Optional Arguments:
958c2ecf20Sopenharmony_ci#
968c2ecf20Sopenharmony_ci#   format: The format to display the data on the timeline in. Use braces to
978c2ecf20Sopenharmony_ci#           enclose the arg names.
988c2ecf20Sopenharmony_ci#
998c2ecf20Sopenharmony_ci#       example: CPU_ON[{cpu}]
1008c2ecf20Sopenharmony_ci#
1018c2ecf20Sopenharmony_ci#   color: The color of the entry block in the timeline. The default color is
1028c2ecf20Sopenharmony_ci#          transparent, so the entry shares the phase color. The color is an
1038c2ecf20Sopenharmony_ci#          html color string, either a word, or an RGB.
1048c2ecf20Sopenharmony_ci#
1058c2ecf20Sopenharmony_ci#       example: [color=#CC00CC]
1068c2ecf20Sopenharmony_ci#
1078c2ecf20Sopenharmony_ci#   arglist: A list of arguments from registers/stack addresses. See URL:
1088c2ecf20Sopenharmony_ci#            https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
1098c2ecf20Sopenharmony_ci#
1108c2ecf20Sopenharmony_ci#       example: cpu=%di:s32
1118c2ecf20Sopenharmony_ci#
1128c2ecf20Sopenharmony_ci# Example: Display cpu resume in the timeline
1138c2ecf20Sopenharmony_ci#
1148c2ecf20Sopenharmony_ci#       _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 [color=orange]
1158c2ecf20Sopenharmony_ci#
1168c2ecf20Sopenharmony_ci_cpu_down: CPU_OFF[{cpu}] cpu=%di:s32
1178c2ecf20Sopenharmony_ci_cpu_up: CPU_ON[{cpu}] cpu=%di:s32
1188c2ecf20Sopenharmony_cisys_sync:
1198c2ecf20Sopenharmony_cipm_prepare_console:
1208c2ecf20Sopenharmony_cipm_notifier_call_chain:
1218c2ecf20Sopenharmony_cifreeze_processes:
1228c2ecf20Sopenharmony_cifreeze_kernel_threads:
1238c2ecf20Sopenharmony_cipm_restrict_gfp_mask:
1248c2ecf20Sopenharmony_ciacpi_suspend_begin:
1258c2ecf20Sopenharmony_cisuspend_console:
1268c2ecf20Sopenharmony_ciacpi_pm_prepare:
1278c2ecf20Sopenharmony_cisyscore_suspend:
1288c2ecf20Sopenharmony_ciarch_thaw_secondary_cpus_end:
1298c2ecf20Sopenharmony_cisyscore_resume:
1308c2ecf20Sopenharmony_ciacpi_pm_finish:
1318c2ecf20Sopenharmony_ciresume_console:
1328c2ecf20Sopenharmony_ciacpi_pm_end:
1338c2ecf20Sopenharmony_cipm_restore_gfp_mask:
1348c2ecf20Sopenharmony_cithaw_processes:
1358c2ecf20Sopenharmony_cipm_restore_console:
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci[dev_timeline_functions_x86_64]
1388c2ecf20Sopenharmony_ci#
1398c2ecf20Sopenharmony_ci# Dev mode function calls to display inside timeline entries
1408c2ecf20Sopenharmony_ci#
1418c2ecf20Sopenharmony_ci# This is a list of kprobes which use both symbol data and function arg data.
1428c2ecf20Sopenharmony_ci# The function calls are displayed on the timeline alongside the device blocks.
1438c2ecf20Sopenharmony_ci# The args are pulled directly from the stack using this architecture's registers
1448c2ecf20Sopenharmony_ci# and stack formatting. Three pieces of info are required. The function name,
1458c2ecf20Sopenharmony_ci# a format string, and an argument list
1468c2ecf20Sopenharmony_ci#
1478c2ecf20Sopenharmony_ci# Entry format:
1488c2ecf20Sopenharmony_ci#
1498c2ecf20Sopenharmony_ci#   function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
1508c2ecf20Sopenharmony_ci#
1518c2ecf20Sopenharmony_ci# Required Arguments:
1528c2ecf20Sopenharmony_ci#
1538c2ecf20Sopenharmony_ci#   function: The symbol name for the function you want probed, this is the
1548c2ecf20Sopenharmony_ci#             minimum required for an entry, it will show up as the function
1558c2ecf20Sopenharmony_ci#             name with no arguments.
1568c2ecf20Sopenharmony_ci#
1578c2ecf20Sopenharmony_ci#       example: ata_eh_recover:
1588c2ecf20Sopenharmony_ci#
1598c2ecf20Sopenharmony_ci# Optional Arguments:
1608c2ecf20Sopenharmony_ci#
1618c2ecf20Sopenharmony_ci#   format: The format to display the data on the timeline in. Use braces to
1628c2ecf20Sopenharmony_ci#           enclose the arg names.
1638c2ecf20Sopenharmony_ci#
1648c2ecf20Sopenharmony_ci#       example: ata{port}_port_reset
1658c2ecf20Sopenharmony_ci# 
1668c2ecf20Sopenharmony_ci#   color: The color of the entry block in the timeline. The default color is
1678c2ecf20Sopenharmony_ci#          transparent, so the entry shares the phase color. The color is an
1688c2ecf20Sopenharmony_ci#          html color string, either a word, or an RGB.
1698c2ecf20Sopenharmony_ci#
1708c2ecf20Sopenharmony_ci#       example: [color=#CC00CC]
1718c2ecf20Sopenharmony_ci#
1728c2ecf20Sopenharmony_ci#   arglist: A list of arguments from registers/stack addresses. See URL:
1738c2ecf20Sopenharmony_ci#            https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
1748c2ecf20Sopenharmony_ci#
1758c2ecf20Sopenharmony_ci#       example: port=+36(%di):s32
1768c2ecf20Sopenharmony_ci#
1778c2ecf20Sopenharmony_ci# Example: Display ATA port reset as ataN_port_reset in the timeline
1788c2ecf20Sopenharmony_ci#
1798c2ecf20Sopenharmony_ci#       ata_eh_recover: ata{port}_port_reset port=+36(%di):s32
1808c2ecf20Sopenharmony_ci#
1818c2ecf20Sopenharmony_cimsleep: msleep time=%di:s32
1828c2ecf20Sopenharmony_cischedule_timeout_uninterruptible: schedule_timeout_uninterruptible timeout=%di:s32
1838c2ecf20Sopenharmony_cischedule_timeout: schedule_timeout timeout=%di:s32
1848c2ecf20Sopenharmony_ciusleep_range: usleep_range min=%di:s32 max=%si:s32
1858c2ecf20Sopenharmony_ci__const_udelay: udelay loops=%di:s32
1868c2ecf20Sopenharmony_ci__mutex_lock_slowpath: mutex_lock_slowpath
1878c2ecf20Sopenharmony_ciata_eh_recover: ata_eh_recover port=+36(%di):s32
1888c2ecf20Sopenharmony_ciacpi_os_stall:
1898c2ecf20Sopenharmony_ciacpi_resume_power_resources:
1908c2ecf20Sopenharmony_ciacpi_ps_parse_aml:
1918c2ecf20Sopenharmony_ciext4_sync_fs:
1928c2ecf20Sopenharmony_cii915_gem_resume:
1938c2ecf20Sopenharmony_cii915_restore_state:
1948c2ecf20Sopenharmony_ciintel_opregion_setup:
1958c2ecf20Sopenharmony_cig4x_pre_enable_dp:
1968c2ecf20Sopenharmony_civlv_pre_enable_dp:
1978c2ecf20Sopenharmony_cichv_pre_enable_dp:
1988c2ecf20Sopenharmony_cig4x_enable_dp:
1998c2ecf20Sopenharmony_civlv_enable_dp:
2008c2ecf20Sopenharmony_ciintel_hpd_init:
2018c2ecf20Sopenharmony_ciintel_opregion_register:
2028c2ecf20Sopenharmony_ciintel_dp_detect:
2038c2ecf20Sopenharmony_ciintel_hdmi_detect:
2048c2ecf20Sopenharmony_ciintel_opregion_init:
2058c2ecf20Sopenharmony_ciintel_fbdev_set_suspend:
206