 b1dd443296
			
		
	
	
	b1dd443296
	
	
	
		
			
			Add --group option to enable event grouping.  When enabled, all the
group members information will be shown with the leader so skip
non-leader events.
It only supports --stdio output currently.  Later patches will extend
additional features.
 $ perf annotate --group --stdio
 ...
  Percent                 |      Source code & Disassembly of libpthread-2.15.so
 --------------------------------------------------------------------------------
                          :
                          :
                          :
                          :      Disassembly of section .text:
                          :
                          :      000000387dc0aa50 <__pthread_mutex_unlock_usercnt>:
     8.08    2.40    5.29 :        387dc0aa50:   mov    %rdi,%rdx
     0.00    0.00    0.00 :        387dc0aa53:   mov    0x10(%rdi),%edi
     0.00    0.00    0.00 :        387dc0aa56:   mov    %edi,%eax
     0.00    0.80    0.00 :        387dc0aa58:   and    $0x7f,%eax
     3.03    2.40    3.53 :        387dc0aa5b:   test   $0x7c,%dil
     0.00    0.00    0.00 :        387dc0aa5f:   jne    387dc0aaa9 <__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa61:   test   %eax,%eax
     0.00    0.00    0.00 :        387dc0aa63:   jne    387dc0aa85 <__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa65:   and    $0x80,%edi
     0.00    0.00    0.00 :        387dc0aa6b:   test   %esi,%esi
     3.03    5.60    7.06 :        387dc0aa6d:   movl   $0x0,0x8(%rdx)
     0.00    0.00    0.59 :        387dc0aa74:   je     387dc0aa7a <__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa76:   subl   $0x1,0xc(%rdx)
     2.02    5.60    1.18 :        387dc0aa7a:   mov    %edi,%esi
     0.00    0.00    0.00 :        387dc0aa7c:   lock decl (%rdx)
    83.84   83.20   82.35 :        387dc0aa7f:   jne    387dc0aada <_L_unlock_586>
     0.00    0.00    0.00 :        387dc0aa81:   nop
     0.00    0.00    0.00 :        387dc0aa82:   xor    %eax,%eax
     0.00    0.00    0.00 :        387dc0aa84:   retq
 ...
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1362462812-30885-6-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
		
	
			
		
			
				
	
	
		
			101 lines
		
	
	
	
		
			2.3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			2.3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| perf-annotate(1)
 | |
| ================
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| perf-annotate - Read perf.data (created by perf record) and display annotated code
 | |
| 
 | |
| SYNOPSIS
 | |
| --------
 | |
| [verse]
 | |
| 'perf annotate' [-i <file> | --input=file] [symbol_name]
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| This command reads the input file and displays an annotated version of the
 | |
| code. If the object file has debug symbols then the source code will be
 | |
| displayed alongside assembly code.
 | |
| 
 | |
| If there is no debug info in the object, then annotated assembly is displayed.
 | |
| 
 | |
| OPTIONS
 | |
| -------
 | |
| -i::
 | |
| --input=::
 | |
|         Input file name. (default: perf.data unless stdin is a fifo)
 | |
| 
 | |
| -d::
 | |
| --dsos=<dso[,dso...]>::
 | |
|         Only consider symbols in these dsos.
 | |
| -s::
 | |
| --symbol=<symbol>::
 | |
|         Symbol to annotate.
 | |
| 
 | |
| -f::
 | |
| --force::
 | |
|         Don't complain, do it.
 | |
| 
 | |
| -v::
 | |
| --verbose::
 | |
|         Be more verbose. (Show symbol address, etc)
 | |
| 
 | |
| -D::
 | |
| --dump-raw-trace::
 | |
|         Dump raw trace in ASCII.
 | |
| 
 | |
| -k::
 | |
| --vmlinux=<file>::
 | |
|         vmlinux pathname.
 | |
| 
 | |
| -m::
 | |
| --modules::
 | |
|         Load module symbols. WARNING: use only with -k and LIVE kernel.
 | |
| 
 | |
| -l::
 | |
| --print-line::
 | |
|         Print matching source lines (may be slow).
 | |
| 
 | |
| -P::
 | |
| --full-paths::
 | |
|         Don't shorten the displayed pathnames.
 | |
| 
 | |
| --stdio:: Use the stdio interface.
 | |
| 
 | |
| --tui:: Use the TUI interface. Use of --tui requires a tty, if one is not
 | |
| 	present, as when piping to other commands, the stdio interface is
 | |
| 	used. This interfaces starts by centering on the line with more
 | |
| 	samples, TAB/UNTAB cycles through the lines with more samples.
 | |
| 
 | |
| --gtk:: Use the GTK interface.
 | |
| 
 | |
| -C::
 | |
| --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
 | |
| 	be provided as a comma-separated list with no space: 0,1. Ranges of
 | |
| 	CPUs are specified with -: 0-2. Default is to report samples on all
 | |
| 	CPUs.
 | |
| 
 | |
| --asm-raw::
 | |
| 	Show raw instruction encoding of assembly instructions.
 | |
| 
 | |
| --source::
 | |
| 	Interleave source code with assembly code. Enabled by default,
 | |
| 	disable with --no-source.
 | |
| 
 | |
| --symfs=<directory>::
 | |
|         Look for files with symbols relative to this directory.
 | |
| 
 | |
| -M::
 | |
| --disassembler-style=:: Set disassembler style for objdump.
 | |
| 
 | |
| --objdump=<path>::
 | |
|         Path to objdump binary.
 | |
| 
 | |
| --skip-missing::
 | |
| 	Skip symbols that cannot be annotated.
 | |
| 
 | |
| --group::
 | |
| 	Show event group information together
 | |
| 
 | |
| SEE ALSO
 | |
| --------
 | |
| linkperf:perf-record[1], linkperf:perf-report[1]
 |