• Namhyung Kim's avatar
    perf tools: Put caller above callee in --children mode · 7111ffff
    Namhyung Kim authored
    The __hpp__sort_acc() sorts entries using callchain depth in order to
    put callers above in children mode.  But it assumed the callchain order
    was callee-first.  Now default (for children) is caller-first so the
    order of entries is reverted.
    
    For example, consider following case:
    
      $ perf report --no-children
      ..l
      # Overhead  Command  Shared Object        Symbol
      # ........  .......  ...................  ..........................
      #
          99.44%  a.out    a.out                [.] main
                  |
                  ---main
                     __libc_start_main
                     _start
    
    Then children mode should show 'start' above '__libc_start_main' since
    it's the caller (parent) of the __libc_start_main.  But it's reversed:
    
      # Children      Self  Command  Shared Object    Symbol
      # ........  ........  .......  ...............  .....................
      #
          99.61%     0.00%  a.out    libc-2.25.so     [.] __libc_start_main
          99.61%     0.00%  a.out    a.out            [.] _start
          99.54%    99.44%  a.out    a.out            [.] main
    
    This patch fixes it.
    
      # Children      Self  Command  Shared Object    Symbol
      # ........  ........  .......  ...............  .....................
      #
          99.61%     0.00%  a.out    a.out            [.] _start
          99.61%     0.00%  a.out    libc-2.25.so     [.] __libc_start_main
          99.54%    99.44%  a.out    a.out            [.] main
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Milian Wolff <milian.wolff@kdab.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Yao Jin <yao.jin@linux.intel.com>
    Cc: kernel-team@lge.com
    Link: http://lkml.kernel.org/r/20170524062129.32529-8-namhyung@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    7111ffff
hist.c 19 KB