• A
    perf tools: Add sort by src line/number · 409a8be6
    Arnaldo Carvalho de Melo 提交于
    Using addr2line for now, requires debuginfo, needs more work to support
    detached debuginfo, aka foo-debuginfo packages.
    
    Example:
    
    	[root@sandy ~]# perf record -a sleep 3
    	[ perf record: Woken up 1 times to write data ]
    	[ perf record: Captured and wrote 0.555 MB perf.data (~24236 samples) ]
    	[root@sandy ~]# perf report -s dso,srcline 2>&1 | grep -v ^# | head -5
    	    22.41%  [kernel.kallsyms]  /home/git/linux/drivers/idle/intel_idle.c:280
    	     4.79%  [kernel.kallsyms]  /home/git/linux/drivers/cpuidle/cpuidle.c:148
    	     4.78%  [kernel.kallsyms]  /home/git/linux/arch/x86/include/asm/atomic64_64.h:121
    	     4.49%  [kernel.kallsyms]  /home/git/linux/kernel/sched/core.c:1690
    	     4.30%  [kernel.kallsyms]  /home/git/linux/include/linux/seqlock.h:90
    	[root@sandy ~]#
    
    [root@sandy ~]# perf top -U -s dso,symbol,srcline
    Samples: 1K of event 'cycles', Event count (approx.): 589617389
     18.66%  [kernel]  [k] copy_user_generic_unrolled   /home/git/linux/arch/x86/lib/copy_user_64.S:143
      7.83%  [kernel]  [k] clear_page                   /home/git/linux/arch/x86/lib/clear_page_64.S:39
      6.59%  [kernel]  [k] clear_page                   /home/git/linux/arch/x86/lib/clear_page_64.S:38
      3.66%  [kernel]  [k] page_fault                   /home/git/linux/arch/x86/kernel/entry_64.S:1379
      3.25%  [kernel]  [k] clear_page                   /home/git/linux/arch/x86/lib/clear_page_64.S:40
      3.12%  [kernel]  [k] clear_page                   /home/git/linux/arch/x86/lib/clear_page_64.S:37
      2.74%  [kernel]  [k] clear_page                   /home/git/linux/arch/x86/lib/clear_page_64.S:36
      2.39%  [kernel]  [k] clear_page                   /home/git/linux/arch/x86/lib/clear_page_64.S:43
      2.12%  [kernel]  [k] ioread32                     /home/git/linux/lib/iomap.c:90
      1.51%  [kernel]  [k] copy_user_generic_unrolled   /home/git/linux/arch/x86/lib/copy_user_64.S:144
      1.19%  [kernel]  [k] copy_user_generic_unrolled   /home/git/linux/arch/x86/lib/copy_user_64.S:154
    Suggested-by: NAndi Kleen <andi@firstfloor.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Namhyung Kim <namhyung@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-pdmqbng9twz06jzkbgtuwbp8@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    409a8be6
sort.c 14.1 KB