1. 22 1月, 2015 14 次提交
  2. 21 1月, 2015 9 次提交
  3. 17 1月, 2015 10 次提交
  4. 09 1月, 2015 1 次提交
  5. 08 1月, 2015 3 次提交
    • N
      perf hists browser: Fix segfault when showing callchain · c09e31cc
      Namhyung Kim 提交于
      When perf report on TUI shows callchain it checks first node has
      siblings to determine whether it needs to print percentage value.
      
      But it missed a case that first node is NULL.  So sometimes it segfaults
      like below:
      
        $ perf top -g
        perf: Segmentation fault
        -------- backtrace --------
        perf[0x4fcefb]
        /usr/lib/libc.so.6(+0x33b20)[0x7f2a35839b20]
        perf(rb_next+0x8)[0x47d3d8]
        perf[0x4f6058]
        perf[0x4f833b]
        perf[0x4f8610]
        perf[0x4f209e]
        perf(ui_browser__run+0x3a)[0x4f2e6a]
        perf[0x4f94ee]
        perf(perf_evlist__tui_browse_hists+0x94)[0x4fbbf4]
        perf[0x444d10]
        /usr/lib/libpthread.so.0(+0x7314)[0x7f2a37070314]
        /usr/lib/libc.so.6(clone+0x6d)[0x7f2a358ee5bd]
      
        $ addr2line -e `which perf` 0x4f6058
        /home/namhyung/project/linux/tools/perf/ui/browsers/hists.c:553
      
      I don't know why the backtrace didn't print some symbols..
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Fixes: 4087d11c ("perf hists browser: Print overhead percent value for first-level callchain")
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1419401076-21700-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c09e31cc
    • N
      perf callchain: Free callchains when hist entries are deleted · d114960c
      Namhyung Kim 提交于
      Markus reported that "perf top -g" can leak ~300MB per second on his
      machine.  This is partly because it missed to free callchains when hist
      entries are deleted.  Fix it.
      Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/20141230053813.GD6081@sejongSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d114960c
    • N
      perf hists: Fix children sort key behavior · 5ca82710
      Namhyung Kim 提交于
      When perf report --children resorts output fields, it tries to put
      caller above the callee.  But this was only meaningful for a same thread
      and doing this requires callchain enabled.  So fix its check before
      comparing the callchain depth.
      
      This also changes the hist accumulation tests: In test 3, xmalloc in
      bash thread should be above than other perf threads due to alphabetical
      order of comm string.  Also it's under page_fault in bash thread since
      alphabetical order of dso name.  The sys_perf_event_open in perf thread
      is put on the last line since it's self overhead is 0.
      
      In test 4, the sys_perf_event_open is put above other perf entries that
      have same children overhead since its callchain depth is smaller.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1419309381-2593-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      5ca82710
  6. 07 1月, 2015 2 次提交
  7. 03 1月, 2015 1 次提交
    • N
      perf diff: Fix to sort by baseline field by default · e7024fc3
      Namhyung Kim 提交于
      The currently perf diff didn't add the baseline and delta (or other
      compute) fields to the sort list so output will be sorted by other
      fields like alphabetical order of DSO or symbol as below example.
      
      Fix it by adding hpp formats for the fields and provides default compare
      functions.
      
      Before:
      
        $ perf diff
        # Event 'cycles'
        #
        # Baseline    Delta  Shared Object       Symbol
        # ........  .......  ..................  ...............................
        #
                             [bridge]            [k] ip_sabotage_in
                             [btrfs]             [k] __etree_search.constprop.47
             0.01%           [btrfs]             [k] btrfs_file_mmap
             0.01%   -0.01%  [btrfs]             [k] btrfs_getattr
                             [e1000e]            [k] e1000_watchdog
             0.00%           [kernel.vmlinux]    [k] PageHuge
             0.00%           [kernel.vmlinux]    [k] __acct_update_integrals
             0.00%           [kernel.vmlinux]    [k] __activate_page
                             [kernel.vmlinux]    [k] __alloc_fd
             0.02%   +0.02%  [kernel.vmlinux]    [k] __alloc_pages_nodemask
             ...
      
      After:
      
        # Baseline    Delta  Shared Object       Symbol
        # ........  .......  ..................  ................................
        #
            24.73%   -4.62%  perf                [.] append_chain_children
             7.96%   -1.29%  perf                [.] dso__find_symbol
             6.97%   -2.07%  libc-2.20.so        [.] vfprintf
             4.61%   +0.88%  libc-2.20.so        [.] __fprintf_chk
             4.41%   +2.43%  perf                [.] sort__comm_cmp
             4.10%   -0.16%  perf                [.] comm__str
             4.03%   -0.93%  perf                [.] machine__findnew_thread_time
             3.82%   +3.09%  perf                [.] __hists__add_entry
             2.95%   -0.18%  perf                [.] sort__dso_cmp
             ...
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1419656793-32756-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e7024fc3