1. 21 Mar, 2015 1 commit
    • He Kuang's avatar
      perf probe: Fix failure to add multiple probes without debuginfo · 0560a0c4
      He Kuang authored
      Perf tries to find probe function addresses from map when debuginfo
      could not be found.
      
      To the first added function, the value of ref_reloc_sym was set in
      maps__set_kallsyms_ref_reloc_sym() and can be obtained from
      host_machine->kmaps->maps. After that, new maps are added to
      host_machine->kmaps->maps in dso__load_kcore(), all these new added maps
      do not have a valid ref_reloc_sym.
      
      When adding a second function, get_target_map() may get a map without
      valid ref_reloc_sym, and raise the error "Relocated base symbol is not
      found".
      
      Fix this by using kernel_get_ref_reloc_sym() to get ref_reloc_sym.
      
      This problem can be reproduced as following:
      
        $ perf probe --add='sys_write' --add='sys_open'
        Relocated base symbol is not found!
          Error: Failed to add events.
      
      After this patch:
      
        $ perf probe --add='sys_write' --add='sys_open'
        Added new event:
          probe:sys_write      (on sys_write)
      
        You can now use it in all perf tools, such as:
      
            perf record -e probe:sys_write -aR sleep 1
      
        Added new event:
          probe:sys_open       (on sys_open)
      
        You can now use it in all perf tools, such as:
      
            perf record -e probe:sys_open -aR sleep 1
      Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Tested-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1426816616-2394-1-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0560a0c4
  2. 20 Mar, 2015 4 commits
  3. 19 Mar, 2015 16 commits
  4. 18 Mar, 2015 11 commits
  5. 17 Mar, 2015 2 commits
  6. 16 Mar, 2015 2 commits
  7. 13 Mar, 2015 4 commits
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 107eb964
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      User visible changes:
      
        - Fix UI bug after zoom into thread/dso/symbol and another, after fold/unfold,
          in the TUI hists browser (He Kuang)
      
        - Fixes for 'perf probe' to better handle aliased symbols, for instance in glibc (Masami Hiramatsu, Namhyung Kim)
      
        - 'perf kmem' improvements and fixes: (Namhyung Kim)
          - Fix segfault when invalid sort key is given
          - Allow -v option
          - Fix alignment of slab result table
      
        - 'perf stat' improvements and fixes: (Andi Kleen)
          - Output running time and run/enabled ratio in CSV mode
          - Fix IPC and other formulas with -A
          - Always correctly indent ratio column
      
        - Add tracepoint events fields CTF conversion support to 'perf data' (Sebastian Andrzej Siewior)
      
      Infrastructure changes:
      
        - Output feature detection's gcc output to a file, to help in debugging (Arnaldo Carvalho de Melo)
      
        - Fix 'perf probe' compiles due to declarations using perf_probe_point (David Ahern)
      
        - Fix possible double free on error in 'perf probe' (He Kuang)
      
        - Remove superfluous thread->comm_set setting (Jiri Olsa)
      
        - Fix libbabeltrace detection (Jiri Olsa)
      
        - More work on separating ordered_events code out of perf_session (Arnaldo Carvalho de Melo)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      107eb964
    • Sebastian Andrzej Siewior's avatar
      perf data: Add tracepoint events fields CTF conversion support · 69364727
      Sebastian Andrzej Siewior authored
      Adding support to convert tracepoint event fields into CTF
      event fields.
      
      We parse each tracepoint event for CTF conversion and add
      tracepoint fields as regular CTF event fields, so they
      appear in babeltrace output like:
      
        $ babeltrace ./ctf-data/
        ...
        [09:02:00.950703057] (+?.?????????) sched:sched_stat_runtime: { }, { perf_ip = ... SNIP ... common_type = 298, common_flags = 1, \
        common_preempt_count = 0, common_pid = 31813, comm = "perf", pid = 31813, runtime = 458800, vruntime = 52059858071 }
        ...
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jeremie Galarneau <jgalar@efficios.com>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1424470628-5969-6-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      69364727
    • Namhyung Kim's avatar
      perf kmem: Fix alignment of slab result table · 65f46e02
      Namhyung Kim authored
      Its table was a bit misaligned.  Fix it.
      
      Before:
      
        # perf kmem stat --caller -l 10
        ------------------------------------------------------------------------------------------------------
         Callsite                           | Total_alloc/Per | Total_req/Per   | Hit      | Ping-pong | Frag
        ------------------------------------------------------------------------------------------------------
         radeon_cs_parser_init.part.1+11a   |      2080/260   |      1504/188   |        8 |        0 | 27.692%
         radeon_cs_parser_init.part.1+e1    |       384/96    |       288/72    |        4 |        0 | 25.000%
         radeon_cs_parser_init.part.1+93    |       128/32    |        96/24    |        4 |        0 | 25.000%
         load_elf_binary+a39                |       512/512   |       392/392   |        1 |        0 | 23.438%
         __alloc_skb+89                     |      6144/877   |      4800/685   |        7 |        6 | 21.875%
         radeon_fence_emit+5c               |      1152/192   |       912/152   |        6 |        0 | 20.833%
         radeon_cs_parser_relocs+ad         |      8192/2048  |      6624/1656  |        4 |        0 | 19.141%
         radeon_sa_bo_new+78                |      1280/64    |      1120/56    |       20 |        0 | 12.500%
         load_elf_binary+2c4                |        32/32    |        28/28    |        1 |        0 | 12.500%
         anon_vma_prepare+101               |       576/72    |       512/64    |        8 |        0 | 11.111%
         ...                                | ...             | ...             | ...    | ...      | ...
        ------------------------------------------------------------------------------------------------------
      
      After:
      
        ---------------------------------------------------------------------------------------------------------
         Callsite                           | Total_alloc/Per | Total_req/Per   | Hit      | Ping-pong | Frag
        ---------------------------------------------------------------------------------------------------------
         radeon_cs_parser_init.part.1+11a   |      2080/260   |      1504/188   |        8 |         0 | 27.692%
         radeon_cs_parser_init.part.1+e1    |       384/96    |       288/72    |        4 |         0 | 25.000%
         radeon_cs_parser_init.part.1+93    |       128/32    |        96/24    |        4 |         0 | 25.000%
         load_elf_binary+a39                |       512/512   |       392/392   |        1 |         0 | 23.438%
         __alloc_skb+89                     |      6144/877   |      4800/685   |        7 |         6 | 21.875%
         radeon_fence_emit+5c               |      1152/192   |       912/152   |        6 |         0 | 20.833%
         radeon_cs_parser_relocs+ad         |      8192/2048  |      6624/1656  |        4 |         0 | 19.141%
         radeon_sa_bo_new+78                |      1280/64    |      1120/56    |       20 |         0 | 12.500%
         load_elf_binary+2c4                |        32/32    |        28/28    |        1 |         0 | 12.500%
         anon_vma_prepare+101               |       576/72    |       512/64    |        8 |         0 | 11.111%
         ...                                | ...             | ...             | ...      | ...       | ...
        ---------------------------------------------------------------------------------------------------------
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Joonsoo Kim <js1304@gmail.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1426145571-3065-4-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      65f46e02
    • Namhyung Kim's avatar
      perf kmem: Allow -v option · bd72a33e
      Namhyung Kim authored
      Current perf kmem fails when -v option is used.  As it's very useful for
      debugging, let's allow it.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Joonsoo Kim <js1304@gmail.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1426145571-3065-3-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      bd72a33e