Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags   |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) perf-diff(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) ============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) NAME
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) ----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) perf-diff - Read perf.data files and display the differential profile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) SYNOPSIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) [verse]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 'perf diff' [baseline file] [data file1] [[data file2] ... ]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) DESCRIPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) This command displays the performance difference amongst two or more perf.data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) files captured via perf record.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) If no parameters are passed it will assume perf.data.old and perf.data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) The differential profile is displayed only for events matching both
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) specified perf.data files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) If no parameters are passed the samples will be sorted by dso and symbol.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) As the perf.data files could come from different binaries, the symbols addresses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) could vary. So perf diff is based on the comparison of the files and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) symbols name.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) OPTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) -------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) -D::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) --dump-raw-trace::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)         Dump raw trace in ASCII.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) --kallsyms=<file>::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)         kallsyms pathname
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) -m::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) --modules::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)         Load module symbols. WARNING: use only with -k and LIVE kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) -d::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) --dsos=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	Only consider symbols in these dsos. CSV that understands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	file://filename entries.  This option will affect the percentage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	of the Baseline/Delta column.  See --percentage for more info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) -C::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) --comms=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	Only consider symbols in these comms. CSV that understands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	file://filename entries.  This option will affect the percentage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	of the Baseline/Delta column.  See --percentage for more info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) -S::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) --symbols=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	Only consider these symbols. CSV that understands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	file://filename entries.  This option will affect the percentage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	of the Baseline/Delta column.  See --percentage for more info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) -s::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) --sort=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	Sort by key(s): pid, comm, dso, symbol, cpu, parent, srcline.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	Please see description of --sort in the perf-report man page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) -t::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) --field-separator=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	Use a special separator character and don't pad with spaces, replacing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	all occurrences of this separator in symbol names (and other output)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	with a '.' character, that thus it's the only non valid separator.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) -v::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) --verbose::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	Be verbose, for instance, show the raw counts in addition to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	diff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) -q::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) --quiet::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	Do not show any message.  (Suppress -v)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) -f::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) --force::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)         Don't do ownership validation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) --symfs=<directory>::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)         Look for files with symbols relative to this directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) -b::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) --baseline-only::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89)         Show only items with match in baseline.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) -c::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) --compute::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)         Differential computation selection - delta, ratio, wdiff, cycles,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)         delta-abs (default is delta-abs).  Default can be changed using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)         diff.compute config option.  See COMPARISON METHODS section for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)         more info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) --cycles-hist::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	Report a histogram and the standard deviation for cycles data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	It can help us to judge if the reported cycles data is noisy or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	not. This option should be used with '-c cycles'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) -p::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) --period::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)         Show period values for both compared hist entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) -F::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) --formula::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)         Show formula for given computation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) -o::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) --order::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)        Specify compute sorting column number.  0 means sorting by baseline
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)        overhead and 1 (default) means sorting by computed value of column 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)        (data from the first file other base baseline).  Values more than 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)        can be used only if enough data files are provided.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)        The default value can be set using the diff.order config option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) --percentage::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	Determine how to display the overhead percentage of filtered entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	Filters can be applied by --comms, --dsos and/or --symbols options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	"relative" means it's relative to filtered entries only so that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	sum of shown entries will be always 100%.  "absolute" means it retains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	the original value before and after the filter is applied.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) --time::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	Analyze samples within given time window. It supports time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	percent with multiple time ranges. Time string is 'a%/n,b%/m,...'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	or 'a%-b%,c%-%d,...'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	For example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	Select the second 10% time slice to diff:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 	  perf diff --time 10%/2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	Select from 0% to 10% time slice to diff:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	  perf diff --time 0%-10%
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	Select the first and the second 10% time slices to diff:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 	  perf diff --time 10%/1,10%/2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	Select from 0% to 10% and 30% to 40% slices to diff:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	  perf diff --time 0%-10%,30%-40%
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	It also supports analyzing samples within a given time window
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	<start>,<stop>. Times have the format seconds.nanoseconds. If 'start'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	is not given (i.e. time string is ',x.y') then analysis starts at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	the beginning of the file. If stop time is not given (i.e. time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 	string is 'x.y,') then analysis goes to the end of the file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	Multiple ranges can be separated by spaces, which requires the argument
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	to be quoted e.g. --time "1234.567,1234.789 1235,"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	Time string is'a1.b1,c1.d1:a2.b2,c2.d2'. Use ':' to separate timestamps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	for different perf.data files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	For example, we get the timestamp information from 'perf script'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	  perf script -i perf.data.old
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	    mgen 13940 [000]  3946.361400: ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	  perf script -i perf.data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	    mgen 13940 [000]  3971.150589 ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	  perf diff --time 3946.361400,:3971.150589,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	It analyzes the perf.data.old from the timestamp 3946.361400 to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	the end of perf.data.old and analyzes the perf.data from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 	timestamp 3971.150589 to the end of perf.data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) --cpu:: Only diff samples for the list of CPUs provided. Multiple CPUs can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	be provided as a comma-separated list with no space: 0,1. Ranges of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	CPUs are specified with -: 0-2. Default is to report samples on all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 	CPUs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) --pid=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	Only diff samples for given process ID (comma separated list).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) --tid=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	Only diff samples for given thread ID (comma separated list).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) --stream::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	Enable hot streams comparison. Stream can be a callchain which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	aggregated by the branch records from samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) COMPARISON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) ----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) The comparison is governed by the baseline file. The baseline perf.data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) file is iterated for samples. All other perf.data files specified on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) the command line are searched for the baseline sample pair. If the pair
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) is found, specified computation is made and result is displayed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) All samples from non-baseline perf.data files, that do not match any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) baseline entry, are displayed with empty space within baseline column
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) and possible computation results (delta) in their related column.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) Example files samples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) - file A with samples f1, f2, f3, f4,    f6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) - file B with samples     f2,     f4, f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) - file C with samples f1, f2,         f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) Example output:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)   x - computation takes place for pair
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)   b - baseline sample percentage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) - perf diff A B C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)   baseline/A compute/B compute/C  samples
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)   ---------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)   b                    x          f1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)   b          x         x          f2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)   b                               f3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)   b          x                    f4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)   b                               f6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)              x         x          f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) - perf diff B A C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)   baseline/B compute/A compute/C  samples
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)   ---------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)   b          x         x          f2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)   b          x                    f4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226)   b                    x          f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)              x         x          f1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)              x                    f3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)              x                    f6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) - perf diff C B A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233)   baseline/C compute/B compute/A  samples
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)   ---------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)   b                    x          f1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)   b          x         x          f2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237)   b          x                    f5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)                        x          f3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)              x         x          f4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240)                        x          f6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) COMPARISON METHODS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) ------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) delta
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) ~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) If specified the 'Delta' column is displayed with value 'd' computed as:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248)   d = A->period_percent - B->period_percent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) with:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)   - A/B being matching hist entry from data/baseline file specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)     (or perf.data/perf.data.old) respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)   - period_percent being the % of the hist entry period value within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255)     single data file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)   - with filtering by -C, -d and/or -S, period_percent might be changed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258)     relative to how entries are filtered.  Use --percentage=absolute to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)     prevent such fluctuation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) delta-abs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) ~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) Same as 'delta` method, but sort the result with the absolute values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) ratio
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) ~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) If specified the 'Ratio' column is displayed with value 'r' computed as:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)   r = A->period / B->period
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) with:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272)   - A/B being matching hist entry from data/baseline file specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273)     (or perf.data/perf.data.old) respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)   - period being the hist entry period value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) wdiff:WEIGHT-B,WEIGHT-A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) ~~~~~~~~~~~~~~~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) If specified the 'Weighted diff' column is displayed with value 'd' computed as:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281)    d = B->period * WEIGHT-A - A->period * WEIGHT-B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283)   - A/B being matching hist entry from data/baseline file specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284)     (or perf.data/perf.data.old) respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)   - period being the hist entry period value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)   - WEIGHT-A/WEIGHT-B being user supplied weights in the the '-c' option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)     behind ':' separator like '-c wdiff:1,2'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290)     - WEIGHT-A being the weight of the data file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291)     - WEIGHT-B being the weight of the baseline data file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) cycles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) ~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) If specified the '[Program Block Range] Cycles Diff' column is displayed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) It displays the cycles difference of same program basic block amongst
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) two perf.data. The program basic block is the code between two branches.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) '[Program Block Range]' indicates the range of a program basic block.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) Source line is reported if it can be found otherwise uses symbol+offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) SEE ALSO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) linkperf:perf-record[1], linkperf:perf-report[1]