• Andi Kleen's avatar
    perf report: Add srcline_from/to branch sort keys · 508be0df
    Andi Kleen authored
    Add "srcline_from" and "srcline_to" branch sort keys that allow to show
    the source lines of a branch.
    
    That makes it much easier to track down where particular branches happen
    in the program, for example to examine branch mispredictions, or to
    associate it with cycle counts:
    
      % perf record -b -e cycles:p ./tcall
      % perf report --sort srcline_from,srcline_to,mispredict
      ...
        15.10%  tcall.c:18       tcall.c:10       N
        14.83%  tcall.c:11       tcall.c:5        N
        14.12%  tcall.c:7        tcall.c:12       N
        14.04%  tcall.c:12       tcall.c:5        N
        12.42%  tcall.c:17       tcall.c:18       N
        12.39%  tcall.c:7        tcall.c:13       N
        12.27%  tcall.c:13       tcall.c:17       N
      ...
    
      % perf report --sort srcline_from,srcline_to,cycles
      ...
        17.12%  tcall.c:18       tcall.c:11       1
        17.01%  tcall.c:12       tcall.c:6        1
        16.98%  tcall.c:11       tcall.c:6        1
        15.91%  tcall.c:17       tcall.c:18       1
         6.38%  tcall.c:7        tcall.c:17       7
         4.80%  tcall.c:7        tcall.c:12       8
         4.21%  tcall.c:7        tcall.c:17       8
         2.67%  tcall.c:7        tcall.c:12       7
         2.62%  tcall.c:7        tcall.c:12       10
         2.10%  tcall.c:7        tcall.c:17       9
         1.58%  tcall.c:7        tcall.c:12       6
         1.44%  tcall.c:7        tcall.c:12       5
         1.38%  tcall.c:7        tcall.c:12       9
         1.06%  tcall.c:7        tcall.c:17       13
         1.05%  tcall.c:7        tcall.c:12       4
         1.01%  tcall.c:7        tcall.c:17       6
    
    Open issues:
    
    - Some kernel symbols get misresolved.
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Link: http://lkml.kernel.org/r/1463775308-32748-1-git-send-email-andi@firstfloor.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    508be0df
sort.c 66.2 KB