hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/tools/perf/Documentation/perf-diff.txt
....@@ -90,9 +90,15 @@
9090
9191 -c::
9292 --compute::
93
- Differential computation selection - delta, ratio, wdiff, delta-abs
94
- (default is delta-abs). Default can be changed using diff.compute
95
- config option. See COMPARISON METHODS section for more info.
93
+ Differential computation selection - delta, ratio, wdiff, cycles,
94
+ delta-abs (default is delta-abs). Default can be changed using
95
+ diff.compute config option. See COMPARISON METHODS section for
96
+ more info.
97
+
98
+--cycles-hist::
99
+ Report a histogram and the standard deviation for cycles data.
100
+ It can help us to judge if the reported cycles data is noisy or
101
+ not. This option should be used with '-c cycles'.
96102
97103 -p::
98104 --period::
....@@ -117,6 +123,68 @@
117123 "relative" means it's relative to filtered entries only so that the
118124 sum of shown entries will be always 100%. "absolute" means it retains
119125 the original value before and after the filter is applied.
126
+
127
+--time::
128
+ Analyze samples within given time window. It supports time
129
+ percent with multiple time ranges. Time string is 'a%/n,b%/m,...'
130
+ or 'a%-b%,c%-%d,...'.
131
+
132
+ For example:
133
+
134
+ Select the second 10% time slice to diff:
135
+
136
+ perf diff --time 10%/2
137
+
138
+ Select from 0% to 10% time slice to diff:
139
+
140
+ perf diff --time 0%-10%
141
+
142
+ Select the first and the second 10% time slices to diff:
143
+
144
+ perf diff --time 10%/1,10%/2
145
+
146
+ Select from 0% to 10% and 30% to 40% slices to diff:
147
+
148
+ perf diff --time 0%-10%,30%-40%
149
+
150
+ It also supports analyzing samples within a given time window
151
+ <start>,<stop>. Times have the format seconds.nanoseconds. If 'start'
152
+ is not given (i.e. time string is ',x.y') then analysis starts at
153
+ the beginning of the file. If stop time is not given (i.e. time
154
+ string is 'x.y,') then analysis goes to the end of the file.
155
+ Multiple ranges can be separated by spaces, which requires the argument
156
+ to be quoted e.g. --time "1234.567,1234.789 1235,"
157
+ Time string is'a1.b1,c1.d1:a2.b2,c2.d2'. Use ':' to separate timestamps
158
+ for different perf.data files.
159
+
160
+ For example, we get the timestamp information from 'perf script'.
161
+
162
+ perf script -i perf.data.old
163
+ mgen 13940 [000] 3946.361400: ...
164
+
165
+ perf script -i perf.data
166
+ mgen 13940 [000] 3971.150589 ...
167
+
168
+ perf diff --time 3946.361400,:3971.150589,
169
+
170
+ It analyzes the perf.data.old from the timestamp 3946.361400 to
171
+ the end of perf.data.old and analyzes the perf.data from the
172
+ timestamp 3971.150589 to the end of perf.data.
173
+
174
+--cpu:: Only diff samples for the list of CPUs provided. Multiple CPUs can
175
+ be provided as a comma-separated list with no space: 0,1. Ranges of
176
+ CPUs are specified with -: 0-2. Default is to report samples on all
177
+ CPUs.
178
+
179
+--pid=::
180
+ Only diff samples for given process ID (comma separated list).
181
+
182
+--tid=::
183
+ Only diff samples for given thread ID (comma separated list).
184
+
185
+--stream::
186
+ Enable hot streams comparison. Stream can be a callchain which is
187
+ aggregated by the branch records from samples.
120188
121189 COMPARISON
122190 ----------
....@@ -222,6 +290,16 @@
222290 - WEIGHT-A being the weight of the data file
223291 - WEIGHT-B being the weight of the baseline data file
224292
293
+cycles
294
+~~~~~~
295
+If specified the '[Program Block Range] Cycles Diff' column is displayed.
296
+It displays the cycles difference of same program basic block amongst
297
+two perf.data. The program basic block is the code between two branches.
298
+
299
+'[Program Block Range]' indicates the range of a program basic block.
300
+Source line is reported if it can be found otherwise uses symbol+offset
301
+instead.
302
+
225303 SEE ALSO
226304 --------
227305 linkperf:perf-record[1], linkperf:perf-report[1]