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