162306a36Sopenharmony_ci#
262306a36Sopenharmony_ci# This is the configuration file for sleepgraph. It contains
362306a36Sopenharmony_ci# all the tool arguments so that they don't have to be given on the
462306a36Sopenharmony_ci# command line. It also includes advanced settings for functions
562306a36Sopenharmony_ci# and kprobes. It is run like this
662306a36Sopenharmony_ci#
762306a36Sopenharmony_ci#    sudo ./sleepgraph.py -config thisfile.txt
862306a36Sopenharmony_ci#
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci[Settings]
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci# Verbosity
1362306a36Sopenharmony_ci# print verbose messages (default: false)
1462306a36Sopenharmony_civerbose: false
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci# Suspend Mode
1762306a36Sopenharmony_ci# e.g. standby, mem, freeze, disk (default: mem)
1862306a36Sopenharmony_cimode: mem
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci# Automatic Wakeup
2162306a36Sopenharmony_ci# Use rtcwake to autoresume after X seconds, or off to disable (default: 15)
2262306a36Sopenharmony_cirtcwake: 15
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci# Add Logs
2562306a36Sopenharmony_ci# add the dmesg and ftrace log to the html output (default: false)
2662306a36Sopenharmony_ciaddlogs: false
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci# Display function calls
2962306a36Sopenharmony_ci# graph source functions in the timeline (default: false)
3062306a36Sopenharmony_cidev: true
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci# Callgraph
3362306a36Sopenharmony_ci# gather detailed ftrace callgraph data on all timeline events (default: false)
3462306a36Sopenharmony_cicallgraph: false
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci# Back to Back Suspend/Resume
3762306a36Sopenharmony_ci# Run two suspend/resumes back to back (default: false)
3862306a36Sopenharmony_cix2: false
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci# Back to Back Suspend Delay
4162306a36Sopenharmony_ci# Time delay between the two test runs in ms (default: 0 ms)
4262306a36Sopenharmony_cix2delay: 0
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci# Minimum Device Length
4562306a36Sopenharmony_ci# graph only devices longer than min in the timeline (default: 0.001 ms)
4662306a36Sopenharmony_cimindev: 1
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci# Minimum Callgraph Length
4962306a36Sopenharmony_ci# provide callgraph data for blocks longer than min (default: 0.001 ms)
5062306a36Sopenharmony_cimincg: 1
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci# Suspend/Resume Gap
5362306a36Sopenharmony_ci# insert a small visible gap between suspend and resume on the timeline (default: false)
5462306a36Sopenharmony_cisrgap: false
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci# Output Directory Format
5762306a36Sopenharmony_ci# output folder for html, ftrace, and dmesg. Use {date} and {time} for current values
5862306a36Sopenharmony_cioutput-dir: suspend-{hostname}-{date}-{time}-custom
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci# Override default timeline entries
6162306a36Sopenharmony_ci# Do not use the internal default functions for timeline entries (default: false)
6262306a36Sopenharmony_ci# Set this to true if you intend to only use the ones defined in this config
6362306a36Sopenharmony_cioverride-timeline-functions: true
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci# Override default dev timeline entries
6662306a36Sopenharmony_ci# Do not use the internal default functions for dev timeline entries (default: false)
6762306a36Sopenharmony_ci# Set this to true if you intend to only use the ones defined in this config
6862306a36Sopenharmony_cioverride-dev-timeline-functions: true
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci[timeline_functions_x86_64]
7162306a36Sopenharmony_ci#
7262306a36Sopenharmony_ci# Function calls to display in the timeline alongside device callbacks.
7362306a36Sopenharmony_ci# The tool has an internal set of these functions which should cover the
7462306a36Sopenharmony_ci# whole of kernel execution, but you can append or override here.
7562306a36Sopenharmony_ci#
7662306a36Sopenharmony_ci# This is a list of kprobes which use both symbol data and function arg data.
7762306a36Sopenharmony_ci# The function calls are displayed on the timeline alongside the device blocks.
7862306a36Sopenharmony_ci# The args are pulled directly from the stack using this architecture's registers
7962306a36Sopenharmony_ci# and stack formatting. Three pieces of info are required. The function name,
8062306a36Sopenharmony_ci# a format string, and an argument list
8162306a36Sopenharmony_ci#
8262306a36Sopenharmony_ci# Entry format:
8362306a36Sopenharmony_ci#
8462306a36Sopenharmony_ci#   function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
8562306a36Sopenharmony_ci#
8662306a36Sopenharmony_ci# Required Arguments:
8762306a36Sopenharmony_ci#
8862306a36Sopenharmony_ci#   function: The symbol name for the function you want probed, this is the
8962306a36Sopenharmony_ci#             minimum required for an entry, it will show up as the function
9062306a36Sopenharmony_ci#             name with no arguments.
9162306a36Sopenharmony_ci#
9262306a36Sopenharmony_ci#       example: _cpu_up:
9362306a36Sopenharmony_ci#
9462306a36Sopenharmony_ci# Optional Arguments:
9562306a36Sopenharmony_ci#
9662306a36Sopenharmony_ci#   format: The format to display the data on the timeline in. Use braces to
9762306a36Sopenharmony_ci#           enclose the arg names.
9862306a36Sopenharmony_ci#
9962306a36Sopenharmony_ci#       example: CPU_ON[{cpu}]
10062306a36Sopenharmony_ci#
10162306a36Sopenharmony_ci#   color: The color of the entry block in the timeline. The default color is
10262306a36Sopenharmony_ci#          transparent, so the entry shares the phase color. The color is an
10362306a36Sopenharmony_ci#          html color string, either a word, or an RGB.
10462306a36Sopenharmony_ci#
10562306a36Sopenharmony_ci#       example: [color=#CC00CC]
10662306a36Sopenharmony_ci#
10762306a36Sopenharmony_ci#   arglist: A list of arguments from registers/stack addresses. See URL:
10862306a36Sopenharmony_ci#            https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
10962306a36Sopenharmony_ci#
11062306a36Sopenharmony_ci#       example: cpu=%di:s32
11162306a36Sopenharmony_ci#
11262306a36Sopenharmony_ci# Example: Display cpu resume in the timeline
11362306a36Sopenharmony_ci#
11462306a36Sopenharmony_ci#       _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 [color=orange]
11562306a36Sopenharmony_ci#
11662306a36Sopenharmony_ci_cpu_down: CPU_OFF[{cpu}] cpu=%di:s32
11762306a36Sopenharmony_ci_cpu_up: CPU_ON[{cpu}] cpu=%di:s32
11862306a36Sopenharmony_cisys_sync:
11962306a36Sopenharmony_cipm_prepare_console:
12062306a36Sopenharmony_cipm_notifier_call_chain:
12162306a36Sopenharmony_cifreeze_processes:
12262306a36Sopenharmony_cifreeze_kernel_threads:
12362306a36Sopenharmony_cipm_restrict_gfp_mask:
12462306a36Sopenharmony_ciacpi_suspend_begin:
12562306a36Sopenharmony_cisuspend_console:
12662306a36Sopenharmony_ciacpi_pm_prepare:
12762306a36Sopenharmony_cisyscore_suspend:
12862306a36Sopenharmony_ciarch_enable_nonboot_cpus_end:
12962306a36Sopenharmony_cisyscore_resume:
13062306a36Sopenharmony_ciacpi_pm_finish:
13162306a36Sopenharmony_ciresume_console:
13262306a36Sopenharmony_ciacpi_pm_end:
13362306a36Sopenharmony_cipm_restore_gfp_mask:
13462306a36Sopenharmony_cithaw_processes:
13562306a36Sopenharmony_cipm_restore_console:
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci[dev_timeline_functions_x86_64]
13862306a36Sopenharmony_ci#
13962306a36Sopenharmony_ci# Dev mode function calls to display inside timeline entries
14062306a36Sopenharmony_ci#
14162306a36Sopenharmony_ci# This is a list of kprobes which use both symbol data and function arg data.
14262306a36Sopenharmony_ci# The function calls are displayed on the timeline alongside the device blocks.
14362306a36Sopenharmony_ci# The args are pulled directly from the stack using this architecture's registers
14462306a36Sopenharmony_ci# and stack formatting. Three pieces of info are required. The function name,
14562306a36Sopenharmony_ci# a format string, and an argument list
14662306a36Sopenharmony_ci#
14762306a36Sopenharmony_ci# Entry format:
14862306a36Sopenharmony_ci#
14962306a36Sopenharmony_ci#   function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
15062306a36Sopenharmony_ci#
15162306a36Sopenharmony_ci# Required Arguments:
15262306a36Sopenharmony_ci#
15362306a36Sopenharmony_ci#   function: The symbol name for the function you want probed, this is the
15462306a36Sopenharmony_ci#             minimum required for an entry, it will show up as the function
15562306a36Sopenharmony_ci#             name with no arguments.
15662306a36Sopenharmony_ci#
15762306a36Sopenharmony_ci#       example: ata_eh_recover:
15862306a36Sopenharmony_ci#
15962306a36Sopenharmony_ci# Optional Arguments:
16062306a36Sopenharmony_ci#
16162306a36Sopenharmony_ci#   format: The format to display the data on the timeline in. Use braces to
16262306a36Sopenharmony_ci#           enclose the arg names.
16362306a36Sopenharmony_ci#
16462306a36Sopenharmony_ci#       example: ata{port}_port_reset
16562306a36Sopenharmony_ci# 
16662306a36Sopenharmony_ci#   color: The color of the entry block in the timeline. The default color is
16762306a36Sopenharmony_ci#          transparent, so the entry shares the phase color. The color is an
16862306a36Sopenharmony_ci#          html color string, either a word, or an RGB.
16962306a36Sopenharmony_ci#
17062306a36Sopenharmony_ci#       example: [color=#CC00CC]
17162306a36Sopenharmony_ci#
17262306a36Sopenharmony_ci#   arglist: A list of arguments from registers/stack addresses. See URL:
17362306a36Sopenharmony_ci#            https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
17462306a36Sopenharmony_ci#
17562306a36Sopenharmony_ci#       example: port=+36(%di):s32
17662306a36Sopenharmony_ci#
17762306a36Sopenharmony_ci# Example: Display ATA port reset as ataN_port_reset in the timeline
17862306a36Sopenharmony_ci#
17962306a36Sopenharmony_ci#       ata_eh_recover: ata{port}_port_reset port=+36(%di):s32
18062306a36Sopenharmony_ci#
18162306a36Sopenharmony_cimsleep: msleep time=%di:s32
18262306a36Sopenharmony_cischedule_timeout_uninterruptible: schedule_timeout_uninterruptible timeout=%di:s32
18362306a36Sopenharmony_cischedule_timeout: schedule_timeout timeout=%di:s32
18462306a36Sopenharmony_ciusleep_range: usleep_range min=%di:s32 max=%si:s32
18562306a36Sopenharmony_ci__const_udelay: udelay loops=%di:s32
18662306a36Sopenharmony_ci__mutex_lock_slowpath: mutex_lock_slowpath
18762306a36Sopenharmony_ciata_eh_recover: ata_eh_recover port=+36(%di):s32
18862306a36Sopenharmony_ciacpi_os_stall:
18962306a36Sopenharmony_ciacpi_resume_power_resources:
19062306a36Sopenharmony_ciacpi_ps_parse_aml:
19162306a36Sopenharmony_ciext4_sync_fs:
19262306a36Sopenharmony_cii915_gem_resume:
19362306a36Sopenharmony_cii915_restore_state:
19462306a36Sopenharmony_ciintel_opregion_setup:
19562306a36Sopenharmony_cig4x_pre_enable_dp:
19662306a36Sopenharmony_civlv_pre_enable_dp:
19762306a36Sopenharmony_cichv_pre_enable_dp:
19862306a36Sopenharmony_cig4x_enable_dp:
19962306a36Sopenharmony_civlv_enable_dp:
20062306a36Sopenharmony_ciintel_hpd_init:
20162306a36Sopenharmony_ciintel_opregion_register:
20262306a36Sopenharmony_ciintel_dp_detect:
20362306a36Sopenharmony_ciintel_hdmi_detect:
20462306a36Sopenharmony_ciintel_opregion_init:
20562306a36Sopenharmony_ciintel_fbdev_set_suspend:
206