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

TOMOYO Linux Cross Reference
Linux/tools/power/pm-graph/bootgraph.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/bootgraph.8 (Version linux-6.12-rc7) and /tools/power/pm-graph/bootgraph.8 (Version linux-6.10.14)


  1 .TH BOOTGRAPH 8                                     1 .TH BOOTGRAPH 8
  2 .SH NAME                                            2 .SH NAME
  3 bootgraph \- Kernel boot timing analysis            3 bootgraph \- Kernel boot timing analysis
  4 .SH SYNOPSIS                                        4 .SH SYNOPSIS
  5 .ft B                                               5 .ft B
  6 .B bootgraph                                        6 .B bootgraph
  7 .RB [ OPTIONS ]                                     7 .RB [ OPTIONS ]
  8 .RB [ COMMAND ]                                     8 .RB [ COMMAND ]
  9 .SH DESCRIPTION                                     9 .SH DESCRIPTION
 10 \fBbootgraph \fP reads the dmesg log from kern     10 \fBbootgraph \fP reads the dmesg log from kernel boot and
 11 creates an html representation of the initcall     11 creates an html representation of the initcall timeline. It graphs
 12 every module init call found, through both ker     12 every module init call found, through both kernel and user modes. The
 13 timeline is split into two phases: kernel mode     13 timeline is split into two phases: kernel mode & user mode. kernel mode
 14 represents a single process run on a single cp     14 represents a single process run on a single cpu with serial init calls.
 15 Once user mode begins, the init process is cal     15 Once user mode begins, the init process is called, and the init calls
 16 start working in parallel.                         16 start working in parallel.
 17 .PP                                                17 .PP
 18 If no specific command is given, the tool read     18 If no specific command is given, the tool reads the current dmesg log and
 19 outputs a new timeline.                            19 outputs a new timeline.
 20 .PP                                                20 .PP
 21 The tool can also augment the timeline with ft     21 The tool can also augment the timeline with ftrace data on custom target
 22 functions as well as full trace callgraphs.        22 functions as well as full trace callgraphs.
 23 .PP                                                23 .PP
 24 Generates output files in subdirectory: boot-y     24 Generates output files in subdirectory: boot-yymmdd-HHMMSS
 25    html timeline   :     <hostname>_boot.html      25    html timeline   :     <hostname>_boot.html
 26    raw dmesg file  :     <hostname>_boot_dmesg     26    raw dmesg file  :     <hostname>_boot_dmesg.txt
 27    raw ftrace file :     <hostname>_boot_ftrac     27    raw ftrace file :     <hostname>_boot_ftrace.txt
 28 .SH OPTIONS                                        28 .SH OPTIONS
 29 .TP                                                29 .TP
 30 \fB-h\fR                                           30 \fB-h\fR
 31 Print this help text                               31 Print this help text
 32 .TP                                                32 .TP
 33 \fB-v\fR                                           33 \fB-v\fR
 34 Print the current tool version                     34 Print the current tool version
 35 .TP                                                35 .TP
 36 \fB-addlogs\fR                                     36 \fB-addlogs\fR
 37 Add the dmesg log to the html output. It will      37 Add the dmesg log to the html output. It will be viewable by
 38 clicking a button in the timeline.                 38 clicking a button in the timeline.
 39 .TP                                                39 .TP
 40 \fB-result \fIfile\fR                              40 \fB-result \fIfile\fR
 41 Export a results table to a text file for pars     41 Export a results table to a text file for parsing.
 42 .TP                                                42 .TP
 43 \fB-o \fIname\fR                                   43 \fB-o \fIname\fR
 44 Overrides the output subdirectory name when ru     44 Overrides the output subdirectory name when running a new test.
 45 Use {date}, {time}, {hostname} for current val     45 Use {date}, {time}, {hostname} for current values.
 46 .sp                                                46 .sp
 47 e.g. boot-{hostname}-{date}-{time}                 47 e.g. boot-{hostname}-{date}-{time}
 48 .SS "advanced"                                     48 .SS "advanced"
 49 .TP                                                49 .TP
 50 \fB-f or -callgraph\fR                             50 \fB-f or -callgraph\fR
 51 Use ftrace to create initcall callgraphs (defa     51 Use ftrace to create initcall callgraphs (default: disabled). If -func
 52 is not used there will be one callgraph per in     52 is not used there will be one callgraph per initcall. This can produce
 53 very large outputs, i.e. 10MB - 100MB.             53 very large outputs, i.e. 10MB - 100MB.
 54 .TP                                                54 .TP
 55 \fB-fstat\fR                                       55 \fB-fstat\fR
 56 Use ftrace to add function detail (default: di     56 Use ftrace to add function detail (default: disabled)
 57 .TP                                                57 .TP
 58 \fB-maxdepth \fIlevel\fR                           58 \fB-maxdepth \fIlevel\fR
 59 limit the callgraph trace depth to \fIlevel\fR     59 limit the callgraph trace depth to \fIlevel\fR (default: 2). This is
 60 the best way to limit the output size when usi     60 the best way to limit the output size when using -callgraph.
 61 .TP                                                61 .TP
 62 \fB-mincg \fIt\fR                                  62 \fB-mincg \fIt\fR
 63 Discard all callgraphs shorter than \fIt\fR mi     63 Discard all callgraphs shorter than \fIt\fR milliseconds (default: 0=all).
 64 This reduces the html file size as there can b     64 This reduces the html file size as there can be many tiny callgraphs
 65 which are barely visible in the timeline.          65 which are barely visible in the timeline.
 66 The value is a float: e.g. 0.001 represents 1      66 The value is a float: e.g. 0.001 represents 1 us.
 67 .TP                                                67 .TP
 68 \fB-cgfilter \fI"func1,func2,..."\fR               68 \fB-cgfilter \fI"func1,func2,..."\fR
 69 Reduce callgraph output in the timeline by lim     69 Reduce callgraph output in the timeline by limiting it to a list of calls. The
 70 argument can be a single function name or a co     70 argument can be a single function name or a comma delimited list.
 71 (default: none)                                    71 (default: none)
 72 .TP                                                72 .TP
 73 \fB-cgskip \fIfile\fR                              73 \fB-cgskip \fIfile\fR
 74 Reduce callgraph output in the timeline by ski     74 Reduce callgraph output in the timeline by skipping over uninteresting
 75 functions in the trace, e.g. printk or console     75 functions in the trace, e.g. printk or console_unlock. The functions listed
 76 in this file will show up as empty leaves in t     76 in this file will show up as empty leaves in the callgraph with only the start/end
 77 times displayed.                                   77 times displayed.
 78 (default: none)                                    78 (default: none)
 79 .TP                                                79 .TP
 80 \fB-timeprec \fIn\fR                               80 \fB-timeprec \fIn\fR
 81 Number of significant digits in timestamps (0:     81 Number of significant digits in timestamps (0:S, 3:ms, [6:us])
 82 .TP                                                82 .TP
 83 \fB-expandcg\fR                                    83 \fB-expandcg\fR
 84 pre-expand the callgraph data in the html outp     84 pre-expand the callgraph data in the html output (default: disabled)
 85 .TP                                                85 .TP
 86 \fB-func \fI"func1,func2,..."\fR                   86 \fB-func \fI"func1,func2,..."\fR
 87 Instead of tracing each initcall, trace a cust     87 Instead of tracing each initcall, trace a custom list of functions (default: do_one_initcall)
 88 .TP                                                88 .TP
 89 \fB-reboot\fR                                      89 \fB-reboot\fR
 90 Reboot the machine and generate a new timeline     90 Reboot the machine and generate a new timeline automatically. Works in 4 steps.
 91   1. updates grub with the required kernel par     91   1. updates grub with the required kernel parameters
 92   2. installs a cron job which re-runs the too     92   2. installs a cron job which re-runs the tool after reboot
 93   3. reboots the system                            93   3. reboots the system
 94   4. after startup, extracts the data and gene     94   4. after startup, extracts the data and generates the timeline
 95 .TP                                                95 .TP
 96 \fB-manual\fR                                      96 \fB-manual\fR
 97 Show the requirements to generate a new timeli     97 Show the requirements to generate a new timeline manually. Requires 3 steps.
 98   1. append the string to the kernel command l     98   1. append the string to the kernel command line via your native boot manager.
 99   2. reboot the system                             99   2. reboot the system
100   3. after startup, re-run the tool with the s    100   3. after startup, re-run the tool with the same arguments and no command
101                                                   101 
102 .SH COMMANDS                                      102 .SH COMMANDS
103 .SS "rebuild"                                     103 .SS "rebuild"
104 .TP                                               104 .TP
105 \fB-dmesg \fIfile\fR                              105 \fB-dmesg \fIfile\fR
106 Create HTML output from an existing dmesg file    106 Create HTML output from an existing dmesg file.
107 .TP                                               107 .TP
108 \fB-ftrace \fIfile\fR                             108 \fB-ftrace \fIfile\fR
109 Create HTML output from an existing ftrace fil    109 Create HTML output from an existing ftrace file (used with -dmesg).
110 .SS "other"                                       110 .SS "other"
111 .TP                                               111 .TP
112 \fB-flistall\fR                                   112 \fB-flistall\fR
113 Print all ftrace functions capable of being ca    113 Print all ftrace functions capable of being captured. These are all the
114 possible values you can add to trace via the -    114 possible values you can add to trace via the -func argument.
115 .TP                                               115 .TP
116 \fB-sysinfo\fR                                    116 \fB-sysinfo\fR
117 Print out system info extracted from BIOS. Rea    117 Print out system info extracted from BIOS. Reads /dev/mem directly instead of going through dmidecode.
118                                                   118 
119 .SH EXAMPLES                                      119 .SH EXAMPLES
120 Create a timeline using the current dmesg log.    120 Create a timeline using the current dmesg log.
121 .IP                                               121 .IP
122 \f(CW$ bootgraph\fR                               122 \f(CW$ bootgraph\fR
123 .PP                                               123 .PP
124 Create a timeline using the current dmesg and     124 Create a timeline using the current dmesg and ftrace log.
125 .IP                                               125 .IP
126 \f(CW$ bootgraph -callgraph\fR                    126 \f(CW$ bootgraph -callgraph\fR
127 .PP                                               127 .PP
128 Create a timeline using the current dmesg, add    128 Create a timeline using the current dmesg, add the log to the html and change the folder.
129 .IP                                               129 .IP
130 \f(CW$ bootgraph -addlogs -o "myboot-{date}-{t    130 \f(CW$ bootgraph -addlogs -o "myboot-{date}-{time}"\fR
131 .PP                                               131 .PP
132 Capture a new boot timeline by automatically r    132 Capture a new boot timeline by automatically rebooting the machine.
133 .IP                                               133 .IP
134 \f(CW$ sudo bootgraph -reboot -addlogs -o "lat    134 \f(CW$ sudo bootgraph -reboot -addlogs -o "latest-{hostname)"\fR
135 .PP                                               135 .PP
136 Capture a new boot timeline with function trac    136 Capture a new boot timeline with function trace data.
137 .IP                                               137 .IP
138 \f(CW$ sudo bootgraph -reboot -f\fR               138 \f(CW$ sudo bootgraph -reboot -f\fR
139 .PP                                               139 .PP
140 Capture a new boot timeline with trace & callg    140 Capture a new boot timeline with trace & callgraph data. Skip callgraphs smaller than 5ms.
141 .IP                                               141 .IP
142 \f(CW$ sudo bootgraph -reboot -callgraph -minc    142 \f(CW$ sudo bootgraph -reboot -callgraph -mincg 5\fR
143 .PP                                               143 .PP
144 Capture a new boot timeline with callgraph dat    144 Capture a new boot timeline with callgraph data over custom functions.
145 .IP                                               145 .IP
146 \f(CW$ sudo bootgraph -reboot -callgraph -func    146 \f(CW$ sudo bootgraph -reboot -callgraph -func "acpi_ps_parse_aml,msleep"\fR
147 .PP                                               147 .PP
148 Capture a brand new boot timeline with manual     148 Capture a brand new boot timeline with manual reboot.
149 .IP                                               149 .IP
150 \f(CW$ sudo bootgraph -callgraph -manual\fR       150 \f(CW$ sudo bootgraph -callgraph -manual\fR
151 .IP                                               151 .IP
152 \f(CW$ vi /etc/default/grub      # add the CMD    152 \f(CW$ vi /etc/default/grub      # add the CMDLINE string to your kernel params\fR
153 .IP                                               153 .IP
154 \f(CW$ sudo reboot               # reboot the     154 \f(CW$ sudo reboot               # reboot the machine\fR
155 .IP                                               155 .IP
156 \f(CW$ sudo bootgraph -callgraph # re-run the     156 \f(CW$ sudo bootgraph -callgraph # re-run the tool after restart\fR
157 .PP                                               157 .PP
158 .SS "rebuild timeline from logs"                  158 .SS "rebuild timeline from logs"
159 .PP                                               159 .PP
160 Rebuild the html from a previous run's logs, u    160 Rebuild the html from a previous run's logs, using the same options.
161 .IP                                               161 .IP
162 \f(CW$ bootgraph -dmesg dmesg.txt -ftrace ftra    162 \f(CW$ bootgraph -dmesg dmesg.txt -ftrace ftrace.txt -callgraph\fR
163 .PP                                               163 .PP
164 Rebuild the html with different options.          164 Rebuild the html with different options.
165 .IP                                               165 .IP
166 \f(CW$ bootgraph -dmesg dmesg.txt -ftrace ftra    166 \f(CW$ bootgraph -dmesg dmesg.txt -ftrace ftrace.txt -addlogs\fR
167                                                   167 
168 .SH "SEE ALSO"                                    168 .SH "SEE ALSO"
169 dmesg(1), update-grub(8), crontab(1), reboot(8    169 dmesg(1), update-grub(8), crontab(1), reboot(8)
170 .PP                                               170 .PP
171 .SH AUTHOR                                        171 .SH AUTHOR
172 .nf                                               172 .nf
173 Written by Todd Brandt <todd.e.brandt@linux.int    173 Written by Todd Brandt <todd.e.brandt@linux.intel.com>
                                                      

~ [ 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