Linux-libre 4.19.8-gnu
[librecmc/linux-libre.git] / tools / power / pm-graph / config / custom-timeline-functions.cfg
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)
14 verbose: false
15
16 # Suspend Mode
17 # e.g. standby, mem, freeze, disk (default: mem)
18 mode: mem
19
20 # Automatic Wakeup
21 # Use rtcwake to autoresume after X seconds, or off to disable (default: 15)
22 rtcwake: 15
23
24 # Add Logs
25 # add the dmesg and ftrace log to the html output (default: false)
26 addlogs: false
27
28 # Display function calls
29 # graph source functions in the timeline (default: false)
30 dev: true
31
32 # Callgraph
33 # gather detailed ftrace callgraph data on all timeline events (default: false)
34 callgraph: false
35
36 # Back to Back Suspend/Resume
37 # Run two suspend/resumes back to back (default: false)
38 x2: false
39
40 # Back to Back Suspend Delay
41 # Time delay between the two test runs in ms (default: 0 ms)
42 x2delay: 0
43
44 # Minimum Device Length
45 # graph only devices longer than min in the timeline (default: 0.001 ms)
46 mindev: 1
47
48 # Minimum Callgraph Length
49 # provide callgraph data for blocks longer than min (default: 0.001 ms)
50 mincg: 1
51
52 # Suspend/Resume Gap
53 # insert a small visible gap between suspend and resume on the timeline (default: false)
54 srgap: false
55
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
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
63 override-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
68 override-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.rst
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
118 sys_sync:
119 pm_prepare_console:
120 pm_notifier_call_chain:
121 freeze_processes:
122 freeze_kernel_threads:
123 pm_restrict_gfp_mask:
124 acpi_suspend_begin:
125 suspend_console:
126 acpi_pm_prepare:
127 syscore_suspend:
128 arch_enable_nonboot_cpus_end:
129 syscore_resume:
130 acpi_pm_finish:
131 resume_console:
132 acpi_pm_end:
133 pm_restore_gfp_mask:
134 thaw_processes:
135 pm_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.rst
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 #
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
188 acpi_os_stall:
189 acpi_resume_power_resources:
190 acpi_ps_parse_aml:
191 ext4_sync_fs:
192 i915_gem_resume:
193 i915_restore_state:
194 intel_opregion_setup:
195 g4x_pre_enable_dp:
196 vlv_pre_enable_dp:
197 chv_pre_enable_dp:
198 g4x_enable_dp:
199 vlv_enable_dp:
200 intel_hpd_init:
201 intel_opregion_register:
202 intel_dp_detect:
203 intel_hdmi_detect:
204 intel_opregion_init:
205 intel_fbdev_set_suspend: