~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/power/pm-graph/sleepgraph.8

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/power/pm-graph/sleepgraph.8 (Version linux-6.12-rc7) and /tools/power/pm-graph/sleepgraph.8 (Version policy-sample)


  1 .TH SLEEPGRAPH 8                                  
  2 .SH NAME                                          
  3 sleepgraph \- Suspend/Resume timing analysis      
  4 .SH SYNOPSIS                                      
  5 .ft B                                             
  6 .B sleepgraph                                     
  7 .RB [ OPTIONS ]                                   
  8 .RB [ COMMAND ]                                   
  9 .SH DESCRIPTION                                   
 10 \fBsleepgraph \fP is designed to assist kernel    
 11 in optimizing their linux stack's suspend/resu    
 12 image built with a few extra options enabled,     
 13 suspend and capture dmesg and ftrace data unti    
 14 This data is transformed into a device timelin    
 15 callgraph to give a detailed view of which dev    
 16 taking the most time in suspend/resume.           
 17 .PP                                               
 18 If no specific command is given, the default b    
 19 a suspend/resume.                                 
 20 .PP                                               
 21 Generates output files in subdirectory: suspen    
 22    html timeline   :     <hostname>_<mode>.htm    
 23    raw dmesg file  :     <hostname>_<mode>_dme    
 24    raw ftrace file :     <hostname>_<mode>_ftr    
 25 .SH OPTIONS                                       
 26 .TP                                               
 27 \fB-h\fR                                          
 28 Print the help text.                              
 29 .TP                                               
 30 \fB-v\fR                                          
 31 Print the current tool version.                   
 32 .TP                                               
 33 \fB-verbose\fR                                    
 34 Print extra information during execution and a    
 35 .TP                                               
 36 \fB-config \fIfile\fR                             
 37 Pull arguments and config options from a file.    
 38 .TP                                               
 39 \fB-m \fImode\fR                                  
 40 Mode to initiate for suspend e.g. standby, fre    
 41 .TP                                               
 42 \fB-o \fIname\fR                                  
 43 Overrides the output subdirectory name when ru    
 44 Use {date}, {time}, {hostname} for current val    
 45 .sp                                               
 46 e.g. suspend-{hostname}-{date}-{time}             
 47 .TP                                               
 48 \fB-rtcwake \fIt\fR | off                         
 49 Use rtcwake to autoresume after \fIt\fR second    
 50 disable rtcwake and require a user keypress to    
 51 .TP                                               
 52 \fB-addlogs\fR                                    
 53 Add the dmesg and ftrace logs to the html outp    
 54 clicking buttons in the timeline.                 
 55 .TP                                               
 56 \fB-noturbostat\fR                                
 57 By default, if turbostat is found and the requ    
 58 will execute the suspend via turbostat and col    
 59 This option disables the use of turbostat.        
 60 .TP                                               
 61 \fB-result \fIfile\fR                             
 62 Export a results table to a text file for pars    
 63 .TP                                               
 64 \fB-sync\fR                                       
 65 Sync the filesystems before starting the test.    
 66 the sys_sync call which happens in the suspend    
 67 .TP                                               
 68 \fB-rs \fIenable/disable\fR                       
 69 During test, enable/disable runtime suspend fo    
 70 by 5 seconds to allow runtime suspend changes     
 71 after the test is complete.                       
 72 .TP                                               
 73 \fB-display \fIon/off/standby/suspend\fR          
 74 Switch the display to the requested mode for t    
 75 This helps maintain the consistency of test da    
 76 .TP                                               
 77 \fB-wifi\fR                                       
 78 If a wifi connection is available, check that     
 79 the reconnect time in the total resume time ca    
 80 as resume failures.                               
 81 .TP                                               
 82 \fB-wifitrace\fR                                  
 83 Trace through the wifi reconnect time and incl    
 84                                                   
 85 .SS "advanced"                                    
 86 .TP                                               
 87 \fB-gzip\fR                                       
 88 Gzip the trace and dmesg logs to save space. T    
 89 logs for processing.                              
 90 .TP                                               
 91 \fB-cmd \fIstr\fR                                 
 92 Run the timeline over a custom suspend command    
 93 the tool forces suspend via /sys/power/state s    
 94 an OS's official suspend method. The output fi    
 95 hostname_command.html and will autodetect whic    
 96 .TP                                               
 97 \fB-filter \fI"d1,d2,..."\fR                      
 98 Filter out all but these device callbacks. The    
 99 or module names. e.g. 0000:00:02.0, ata5, i915    
100 .TP                                               
101 \fB-mindev \fIt\fR                                
102 Discard all device callbacks shorter than \fIt    
103 This reduces the html file size as there can b    
104 visible. The value is a float: e.g. 0.001 repr    
105 .TP                                               
106 \fB-proc\fR                                       
107 Add usermode process info into the timeline (d    
108 .TP                                               
109 \fB-dev\fR                                        
110 Add kernel source calls and threads to the tim    
111 .TP                                               
112 \fB-x2\fR                                         
113 Run two suspend/resumes back to back (default:    
114 .TP                                               
115 \fB-x2delay \fIt\fR                               
116 Include \fIt\fR ms delay between multiple test    
117 .TP                                               
118 \fB-predelay \fIt\fR                              
119 Include \fIt\fR ms delay before 1st suspend (d    
120 .TP                                               
121 \fB-postdelay \fIt\fR                             
122 Include \fIt\fR ms delay after last resume (de    
123 .TP                                               
124 \fB-multi \fIn d\fR                               
125 Used for endurance testing. If \fIn\fR is enti    
126 Execute \fIn\fR consecutive tests at \fId\fR s    
127 If \fIn\fR is an integer followed by a "d", "h    
128 Execute tests continuously over \fIn\fR days,     
129 The outputs will be created in a new subdirect    
130 for duration: suspend-{date}-{time}-Nm. When t    
131 command is called automatically to create summ    
132 use \fI-skiphtml\fR). \fI-skiphtml\fR will spe    
133 or summary html files. You can then run the to    
134 and \fI-genhtml\fR to create the timelines.       
135 .TP                                               
136 \fB-maxfail \fIn\fR                               
137 Abort a -multi run after \fIn\fR consecutive f    
138 .TP                                               
139 \fB-skiphtml\fR                                   
140 Run the test and capture the trace logs, but s    
141 You can generate the html timelines later with    
142 by running \fI-summary\fR and \fI-genhtml\fR.     
143                                                   
144 .SS "ftrace debug"                                
145 .TP                                               
146 \fB-f\fR                                          
147 Use ftrace to create device callgraphs (defaul    
148 very large outputs, i.e. 10MB - 100MB.            
149 .TP                                               
150 \fB-ftop\fR                                       
151 Use ftrace on the top level call: "suspend_dev    
152 This option implies -f and creates a single ca    
153 .TP                                               
154 \fB-maxdepth \fIlevel\fR                          
155 limit the callgraph trace depth to \fIlevel\fR    
156 the best way to limit the output size when usi    
157 .TP                                               
158 \fB-expandcg\fR                                   
159 pre-expand the callgraph data in the html outp    
160 .TP                                               
161 \fB-fadd \fIfile\fR                               
162 Add functions to be graphed in the timeline fr    
163 .TP                                               
164 \fB-mincg \fIt\fR                                 
165 Discard all callgraphs shorter than \fIt\fR mi    
166 This reduces the html file size as there can b    
167 which are barely visible in the timeline.         
168 The value is a float: e.g. 0.001 represents 1     
169 .TP                                               
170 \fB-cgfilter \fI"func1,func2,..."\fR              
171 Reduce callgraph output in the timeline by lim    
172 argument can be a single device name or a comm    
173 (default: none)                                   
174 .TP                                               
175 \fB-cgskip \fIfile\fR                             
176 Reduce callgraph timeline size by skipping ove    
177 in the trace, e.g. printk or console_unlock. T    
178 in this file will show up as empty leaves in t    
179 times displayed. cgskip.txt is used automatica    
180 use "off" to disable completely (default: cgsk    
181 .TP                                               
182 \fB-cgphase \fIp\fR                               
183 Only show callgraph data for phase \fIp\fR (e.    
184 .TP                                               
185 \fB-cgtest \fIn\fR                                
186 In an x2 run, only show callgraph data for tes    
187 .TP                                               
188 \fB-timeprec \fIn\fR                              
189 Number of significant digits in timestamps (0:    
190 .TP                                               
191 \fB-bufsize \fIN\fR                               
192 Set trace buffer size to N kilo-bytes (default    
193                                                   
194 .SH COMMANDS                                      
195 .TP                                               
196 \fB-summary \fIindir\fR                           
197 Create a set of summary pages for all tests in    
198 Creates summary.html, summary-issues.html, and    
199 summary.html is a table of tests with relevant    
200 and links to the test html files. It identifie    
201 suspend and resume times for you with highligh    
202 summary-issues.html is a list of kernel issues    
203 summary-devices.html is a list of devices and     
204                                                   
205 Use \fI-genhtml\fR to regenerate any tests wit    
206 .TP                                               
207 \fB-genhtml\fR                                    
208 Used with \fI-summary\fR to regenerate any mis    
209 dmesg and ftrace logs. This will require a sig    
210 are thousands of tests.                           
211 .TP                                               
212 \fB-modes\fR                                      
213 List available suspend modes.                     
214 .TP                                               
215 \fB-status\fR                                     
216 Test to see if the system is able to run this     
217 with any options you intend to use to see if t    
218 .TP                                               
219 \fB-fpdt\fR                                       
220 Print out the contents of the ACPI Firmware Pe    
221 .TP                                               
222 \fB-wificheck\fR                                  
223 Print out wifi status and connection details.     
224 .TP                                               
225 \fB-xon/-xoff/-xstandby/-xsuspend\fR              
226 Test xset by attempting to switch the display     
227 is the same command which will be issued by \f    
228 .TP                                               
229 \fB-xstat\fR                                      
230 Get the current DPMS display mode.                
231 .TP                                               
232 \fB-sysinfo\fR                                    
233 Print out system info extracted from BIOS. Rea    
234 .TP                                               
235 \fB-devinfo\fR                                    
236 Print out the pm settings of all devices which    
237 .TP                                               
238 \fB-cmdinfo\fR                                    
239 Print out all the platform data collected from    
240 .TP                                               
241 \fB-flist\fR                                      
242 Print the list of ftrace functions currently b    
243 that are not available as symbols in the curre    
244 By default, the tool traces a list of importan    
245 in order to better fill out the timeline. If t    
246 with -fadd they will also be checked.             
247 .TP                                               
248 \fB-flistall\fR                                   
249 Print all ftrace functions capable of being ca    
250 possible values you can add to trace via the -    
251 .SS "rebuild"                                     
252 .TP                                               
253 \fB-ftrace \fIfile\fR                             
254 Create HTML output from an existing ftrace fil    
255 .TP                                               
256 \fB-dmesg \fIfile\fR                              
257 Create HTML output from an existing dmesg file    
258                                                   
259 .SH EXAMPLES                                      
260 .SS "simple commands"                             
261 Check which suspend modes are currently suppor    
262 .IP                                               
263 \f(CW$ sleepgraph -modes\fR                       
264 .PP                                               
265 Read the Firmware Performance Data Table (FPDT    
266 .IP                                               
267 \f(CW$ sudo sleepgraph -fpdt\fR                   
268 .PP                                               
269 Print out the current USB power topology          
270 .IP                                               
271 \f(CW$ sleepgraph -usbtopo                        
272 .PP                                               
273 Verify that you can run a command with a set o    
274 .IP                                               
275 \f(CW$ sudo sleepgraph -f -rtcwake 30 -status     
276 .PP                                               
277 Generate a summary of all timelines in a parti    
278 .IP                                               
279 \f(CW$ sleepgraph -summary ~/workspace/myresul    
280 .PP                                               
281                                                   
282 .SS "capturing basic timelines"                   
283 Execute a mem suspend with a 15 second wakeup.    
284 .IP                                               
285 \f(CW$ sudo sleepgraph -rtcwake 15 -addlogs\fR    
286 .PP                                               
287 Execute a standby with a 15 second wakeup. Cha    
288 .IP                                               
289 \f(CW$ sudo sleepgraph -m standby -rtcwake 15     
290 .PP                                               
291 Execute a freeze with no wakeup (require keypr    
292 .IP                                               
293 \f(CW$ sudo sleepgraph -m freeze -rtcwake off     
294 .PP                                               
295                                                   
296 .SS "capturing advanced timelines"                
297 Execute a suspend & include dev mode source ca    
298 .IP                                               
299 \f(CW$ sudo sleepgraph -m mem -rtcwake 15 -dev    
300 .PP                                               
301 Run two suspends back to back, include a 500ms    
302 .IP                                               
303 \f(CW$ sudo sleepgraph -m mem -rtcwake 15 -x2     
304 .PP                                               
305 Execute a suspend using a custom command.         
306 .IP                                               
307 \f(CW$ sudo sleepgraph -cmd "echo mem > /sys/p    
308 .PP                                               
309                                                   
310 .SS "endurance testing using -multi"              
311 .PP                                               
312 Do a batch run of 10 freezes with 30 seconds d    
313 .IP                                               
314 \f(CW$ sudo sleepgraph -m freeze -rtcwake 15 -    
315 .PP                                               
316 Do a batch run of freezes for 24 hours.           
317 .IP                                               
318 \f(CW$ sudo sleepgraph -m freeze -rtcwake 15 -    
319                                                   
320 .SS "adding callgraph data"                       
321 Add device callgraphs. Limit the trace depth a    
322 .IP                                               
323 \f(CW$ sudo sleepgraph -m mem -rtcwake 15 -f -    
324 .PP                                               
325 Capture a full callgraph across all suspend, t    
326 .IP                                               
327 \f(CW$ sudo sleepgraph -m mem -rtcwake 15 -f\f    
328 .IP                                               
329 \f(CW$ sleepgraph -dmesg host_mem_dmesg.txt -f    
330 .PP                                               
331                                                   
332 .SS "rebuild timeline from logs"                  
333 .PP                                               
334 Rebuild the html from a previous run's logs, u    
335 .IP                                               
336 \f(CW$ sleepgraph -dmesg dmesg.txt -ftrace ftr    
337 .PP                                               
338 Rebuild the html with different options.          
339 .IP                                               
340 \f(CW$ sleepgraph -dmesg dmesg.txt -ftrace ftr    
341                                                   
342 .SH "SEE ALSO"                                    
343 dmesg(1)                                          
344 .PP                                               
345 .SH AUTHOR                                        
346 .nf                                               
347 Written by Todd Brandt <todd.e.brandt@linux.int    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php