lkml.org 
[lkml]   [2017]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf annotate: Process attr and build_id records
    Commit-ID:  6ab11f3a35aa07be2ff167b9de37e6c1eb58396b
    Gitweb: http://git.kernel.org/tip/6ab11f3a35aa07be2ff167b9de37e6c1eb58396b
    Author: David Carrillo-Cisneros <davidcc@google.com>
    AuthorDate: Mon, 10 Apr 2017 13:14:29 -0700
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Tue, 11 Apr 2017 15:23:42 -0300

    perf annotate: Process attr and build_id records

    perf annotate did not get some love for pipe-mode, and did not have
    .attr and .buil_id setup (while record and inject did. Fix that.

    It can easily be reproduced by:

    perf record -o - noploop | perf annotate

    that in my system shows:
    0xd8 [0x28]: failed to process type: 9

    Committer Testing:

    Before:

    $ perf record -o - stress -t 2 -c 2 | perf annotate --stdio
    stress: info: [11060] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd
    0x4470 [0x28]: failed to process type: 9
    $ stress: info: [11060] successful run completed in 2s

    $

    After:

    $ perf record -o - stress -t 2 -c 2 | perf annotate --stdio
    stress: info: [11871] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd
    stress: info: [11871] successful run completed in 2s
    [ perf record: Woken up 2 times to write data ]
    [ perf record: Captured and wrote 0.000 MB - ]
    no symbols found in /usr/bin/stress, maybe install a debug package?
    Percent | Source code & Disassembly of libc-2.24.so for cycles:uhH (6117 samples)
    ---------------------------------------------------------------------------------------
    :
    : Disassembly of section .text:
    :
    : 000000000003b050 <random_r>:
    : __random_r():
    10.56 : 3b050: test %rdi,%rdi
    0.00 : 3b053: je 3b0d0 <random_r+0x80>
    0.34 : 3b055: test %rsi,%rsi
    0.00 : 3b058: je 3b0d0 <random_r+0x80>
    0.46 : 3b05a: mov 0x18(%rdi),%eax
    12.44 : 3b05d: mov 0x10(%rdi),%r8
    0.18 : 3b061: test %eax,%eax
    0.00 : 3b063: je 3b0b0 <random_r+0x60>
    <SNIP>

    Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: He Kuang <hekuang@huawei.com>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Paul Turner <pjt@google.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Simon Que <sque@chromium.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/r/20170410201432.24807-5-davidcc@google.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/builtin-annotate.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
    index 56a7c8d..b2b2722 100644
    --- a/tools/perf/builtin-annotate.c
    +++ b/tools/perf/builtin-annotate.c
    @@ -394,6 +394,8 @@ int cmd_annotate(int argc, const char **argv)
    .exit = perf_event__process_exit,
    .fork = perf_event__process_fork,
    .namespaces = perf_event__process_namespaces,
    + .attr = perf_event__process_attr,
    + .build_id = perf_event__process_build_id,
    .ordered_events = true,
    .ordering_requires_timestamps = true,
    },
    \
     
     \ /
      Last update: 2017-04-12 07:46    [W:5.067 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site