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
7 # sudo ./sleepgraph.py -config thisfile.txt
13 # print verbose messages (default: false)
17 # e.g. standby, mem, freeze, disk (default: mem)
21 # Use rtcwake to autoresume after X seconds, or off to disable (default: 15)
25 # add the dmesg and ftrace log to the html output (default: false)
28 # Display function calls
29 # graph source functions in the timeline (default: false)
33 # gather detailed ftrace callgraph data on all timeline events (default: false)
36 # Back to Back Suspend/Resume
37 # Run two suspend/resumes back to back (default: false)
40 # Back to Back Suspend Delay
41 # Time delay between the two test runs in ms (default: 0 ms)
44 # Minimum Device Length
45 # graph only devices longer than min in the timeline (default: 0.001 ms)
48 # Minimum Callgraph Length
49 # provide callgraph data for blocks longer than min (default: 0.001 ms)
53 # insert a small visible gap between suspend and resume on the timeline (default: false)
56 # Output Directory Format
57 # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values
58 output-dir: suspend-{hostname}-{date}-{time}-custom
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
63 override-timeline-functions: true
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
68 override-dev-timeline-functions: true
70 [timeline_functions_x86_64]
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.
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
84 # function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
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.
96 # format: The format to display the data on the timeline in. Use braces to
97 # enclose the arg names.
99 # example: CPU_ON[{cpu}]
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.
105 # example: [color=#CC00CC]
107 # arglist: A list of arguments from registers/stack addresses. See URL:
108 # https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
110 # example: cpu=%di:s32
112 # Example: Display cpu resume in the timeline
114 # _cpu_up: CPU_ON[{cpu}] cpu=%di:s32 [color=orange]
116 _cpu_down: CPU_OFF[{cpu}] cpu=%di:s32
117 _cpu_up: CPU_ON[{cpu}] cpu=%di:s32
120 pm_notifier_call_chain:
122 freeze_kernel_threads:
123 pm_restrict_gfp_mask:
128 arch_thaw_secondary_cpus_end:
137 [dev_timeline_functions_x86_64]
139 # Dev mode function calls to display inside timeline entries
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
149 # function: format{fn_arg1}_{fn_arg2} fn_arg1 fn_arg2 ... [color=purple]
151 # Required Arguments:
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.
157 # example: ata_eh_recover:
159 # Optional Arguments:
161 # format: The format to display the data on the timeline in. Use braces to
162 # enclose the arg names.
164 # example: ata{port}_port_reset
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.
170 # example: [color=#CC00CC]
172 # arglist: A list of arguments from registers/stack addresses. See URL:
173 # https://www.kernel.org/doc/Documentation/trace/kprobetrace.txt
175 # example: port=+36(%di):s32
177 # Example: Display ATA port reset as ataN_port_reset in the timeline
179 # ata_eh_recover: ata{port}_port_reset port=+36(%di):s32
181 msleep: msleep time=%di:s32
182 schedule_timeout_uninterruptible: schedule_timeout_uninterruptible timeout=%di:s32
183 schedule_timeout: schedule_timeout timeout=%di:s32
184 usleep_range: usleep_range min=%di:s32 max=%si:s32
185 __const_udelay: udelay loops=%di:s32
186 __mutex_lock_slowpath: mutex_lock_slowpath
187 ata_eh_recover: ata_eh_recover port=+36(%di):s32
189 acpi_resume_power_resources:
194 intel_opregion_setup:
201 intel_opregion_register:
205 intel_fbdev_set_suspend: