1. 14 Nov, 2012 17 commits
  2. 13 Nov, 2012 2 commits
    • Ingo Molnar's avatar
      Merge branch 'tip/perf/core-2' of... · 84e53ff7
      Ingo Molnar authored
      Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core
      
      Pull tracing updates from Steven Rostedt.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      84e53ff7
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · ccf59d8d
      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:
      
       * Don't show scripts menu for 'perf top', fix from Feng Tang
      
       * Add framework for automated perf_event_attr tests, where tools with
         different command line options will be run from a 'perf test', via
         python glue, and the perf syscall will be intercepted to verify that
         the perf_event_attr fields set by the tool are those expected,
         from Jiri Olsa
      
       * Use normalized arch name for searching objdump path. This fixes cases
         where the system's objdump (e.g. x86_64) supports the architecture in
         the perf.data file (e.g. i686), but is not the same,
         fix from Namhyung Kim.
      
       * Postpone objdump check until annotation requested, from Namhyung Kim.
      
       * Add a 'link' method for hists, so that we can have the leader with
         buckets for all the entries in all the hists.  This new method
         is now used in the default 'diff' output, making the sum of the 'baseline'
         column be 100%, eliminating blind spots. Now we need to use this
         for 'diff' with > 2 perf.data files and for multi event 'report' and
         'annotate'.
      
       * libtraceevent fixes for compiler warnings trying to make perf it build
         on some distros, like fedora 14, 32-bit, some of the warnings really
         pointed to real bugs.
      
       * Remove temp dir on failure in 'perf test', fix from Jiri Olsa.
      
       * Fixes for handling data, stack mmaps, from Namhyung Kim.
      
       * Fix live annotation bug related to recent objdump lookup patches, from
         Namhyung Kim
      
       * Don't try to follow jump target on PLT symbols in the annotation browser,
         fix from Namhyung Kim.
      
       * Fix leak on hist_entry delete, from Namhyung Kim.
      
       * Fix a CPU_ALLOC related build error on builtin-test, from Zheng Liu.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ccf59d8d
  3. 09 Nov, 2012 10 commits
    • Arnaldo Carvalho de Melo's avatar
      tools lib traceevent: Use 'const' in variables pointing to const strings · 27f94d52
      Arnaldo Carvalho de Melo authored
      Fixing the build on fedora 14, 32-bit:
      
        tools/lib/traceevent/event-parse.c: In function ‘find_cmdline’:
        tools/lib/traceevent/event-parse.c:183:3: error: return discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c:186:3: error: return discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c:195:2: error: return discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c: In function ‘process_func_handler’:
        tools/lib/traceevent/event-parse.c:2658:9: error: assignment discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c:2660:9: error: assignment discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c: In function ‘print_mac_arg’:
        tools/lib/traceevent/event-parse.c:3892:14: error: initialization discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c:3906:7: error: assignment discards qualifiers from pointer target type
        tools/lib/traceevent/event-parse.c: In function ‘pevent_print_event’:
        tools/lib/traceevent/event-parse.c:4412:24: error: initialization discards qualifiers from pointer target type
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/n/tip-0k5g8urwu7vwkgbcbt2x05fe@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      27f94d52
    • Arnaldo Carvalho de Melo's avatar
      tools lib traceevent: Handle INVALID_ARG_TYPE errno in pevent_strerror · 7a905611
      Arnaldo Carvalho de Melo authored
      gcc on f14 32-bit rightly complains:
      
         tools/lib/traceevent/event-parse.c:5097:2: error: enumeration value ‘PEVENT_ERRNO__INVALID_ARG_TYPE’ not handled in switch
      
      The entry for it is in the error strings array pevent_error_str[]:
      
              _PE(INVALID_ARG_TYPE,   "invalid argument type")
      
      It was just not being handled on the pevent_strerror switch, fix it.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/n/tip-c68zkvxw4289uqbosfkz963g@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7a905611
    • Arnaldo Carvalho de Melo's avatar
      tools lib traceevent: No need to check for < 0 on an unsigned enum · e46466b8
      Arnaldo Carvalho de Melo authored
      gcc on f14 32-bit complains:
      
        tools/lib/traceevent/event-parse.c: In function ‘pevent_register_print_function’:
        tools/lib/traceevent/event-parse.c:5366:3: error: comparison of unsigned expression < 0 is always false
      
      This is because:
      
                enum pevent_func_arg_type type;
      
      this enum doesn't have any negative value, so gcc makes it an 'unsigned
      int'. Fix it by removing the < 0 test.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/n/tip-6vnd6ud6fbpn48zax4a5ru01@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e46466b8
    • Arnaldo Carvalho de Melo's avatar
      tools lib traceevent: Avoid comparisions between signed/unsigned · 8a38cce4
      Arnaldo Carvalho de Melo authored
      Fixing this warning-as-error on f14 32-bit:
      
        tools/lib/traceevent/event-parse.c:5564:17: error: comparison between signed and unsigned integer expressions
        tools/lib/traceevent/event-parse.c:5586:17: error: comparison between signed and unsigned integer expressions
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/n/tip-stmix8hy4nu5ervpynn8yj2z@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8a38cce4
    • Arnaldo Carvalho de Melo's avatar
      tools lib traceevent: Add __maybe_unused to unused parameters · ca383a4d
      Arnaldo Carvalho de Melo authored
      Fixing the build on 32-bit Fedora 14:
      
        tools/lib/traceevent/event-parse.c: In function ‘print_event_fields’:
        tools/lib/traceevent/event-parse.c:3934:69: error: unused parameter ‘size’
        tools/lib/traceevent/event-parse.c: In function ‘pevent_strerror’:
        tools/lib/traceevent/event-parse.c:5074:36: error: unused parameter ‘pevent’
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/n/tip-soe4gqcz8fd4ecik6exvyqox@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ca383a4d
    • Namhyung Kim's avatar
      perf annotate: Merge same lines in summary view · 41127965
      Namhyung Kim authored
      The --print-line option of perf annotate command shows summary for
      each source line.  But it didn't merge same lines so that it can
      appear multiple times.
      
      * before:
      
        Sorted summary for file /home/namhyung/bin/mcol
        ----------------------------------------------
           21.71 /home/namhyung/tmp/mcol.c:26
           20.66 /home/namhyung/tmp/mcol.c:25
            9.53 /home/namhyung/tmp/mcol.c:24
            7.68 /home/namhyung/tmp/mcol.c:25
            7.67 /home/namhyung/tmp/mcol.c:25
            7.66 /home/namhyung/tmp/mcol.c:26
            7.49 /home/namhyung/tmp/mcol.c:26
            6.92 /home/namhyung/tmp/mcol.c:25
            6.81 /home/namhyung/tmp/mcol.c:25
            1.07 /home/namhyung/tmp/mcol.c:26
            0.52 /home/namhyung/tmp/mcol.c:25
            0.51 /home/namhyung/tmp/mcol.c:25
            0.51 /home/namhyung/tmp/mcol.c:24
      
      * after:
      
        Sorted summary for file /home/namhyung/bin/mcol
        ----------------------------------------------
           50.77 /home/namhyung/tmp/mcol.c:25
           37.94 /home/namhyung/tmp/mcol.c:26
           10.04 /home/namhyung/tmp/mcol.c:24
      
      To do that, introduce percent_sum field so that the normal
      line-by-line output doesn't get changed.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1352440729-21848-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      41127965
    • Namhyung Kim's avatar
      perf annotate: Don't try to follow jump target on PLT symbols · 32ae1efd
      Namhyung Kim authored
      The perf annotate browser on TUI can identify a jump target for a
      selected instruction.  It assumes that the jump target is within the
      function but it's not the case of PLT symbols which have offset out of
      the function as a target.
      
      Since it caused a segmentation fault, do not try to follow jump target
      on the PLT symbols.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1352482044-3443-5-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      32ae1efd
    • Namhyung Kim's avatar
      perf annotate: Whitespace fixups · 2ba34aaa
      Namhyung Kim authored
      Some lines are indented by whitespace characters rather than tabs.  Fix
      them.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1352482044-3443-3-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2ba34aaa
    • Zheng Liu's avatar
      perf test: fix a build error on builtin-test · 12f8f74b
      Zheng Liu authored
      Recently I build perf and get a build error on builtin-test.c. The error is as
      following:
      
      $ make
          CC perf.o
          CC builtin-test.o
      cc1: warnings being treated as errors
      builtin-test.c: In function ‘sched__get_first_possible_cpu’:
      builtin-test.c:977: warning: implicit declaration of function ‘CPU_ALLOC’
      builtin-test.c:977: warning: nested extern declaration of ‘CPU_ALLOC’
      builtin-test.c:977: warning: assignment makes pointer from integer without a cast
      builtin-test.c:978: warning: implicit declaration of function ‘CPU_ALLOC_SIZE’
      builtin-test.c:978: warning: nested extern declaration of ‘CPU_ALLOC_SIZE’
      builtin-test.c:979: warning: implicit declaration of function ‘CPU_ZERO_S’
      builtin-test.c:979: warning: nested extern declaration of ‘CPU_ZERO_S’
      builtin-test.c:982: warning: implicit declaration of function ‘CPU_FREE’
      builtin-test.c:982: warning: nested extern declaration of ‘CPU_FREE’
      builtin-test.c:992: warning: implicit declaration of function ‘CPU_ISSET_S’
      builtin-test.c:992: warning: nested extern declaration of ‘CPU_ISSET_S’
      builtin-test.c:998: warning: implicit declaration of function ‘CPU_CLR_S’
      builtin-test.c:998: warning: nested extern declaration of ‘CPU_CLR_S’
      make: *** [builtin-test.o] Error 1
      
      This problem is introduced in 3e7c439a. CPU_ALLOC and related macros are
      missing in sched__get_first_possible_cpu function. In 54489c18, commiter
      mentioned that CPU_ALLOC has been removed. So CPU_ALLOC calls in this
      function are removed to let perf to be built.
      Signed-off-by: default avatarVinson Lee <vlee@twitter.com>
      Signed-off-by: default avatarZheng Liu <wenqing.lz@taobao.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Vinson Lee <vlee@twitter.com>
      Cc: Zheng Liu <wenqing.lz@taobao.com>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/1352422726-31114-1-git-send-email-vlee@twitter.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      12f8f74b
    • Arnaldo Carvalho de Melo's avatar
      perf machine: Move more methods to machine.[ch] · 69d2591a
      Arnaldo Carvalho de Melo authored
      This time out of map.[ch] mostly, just code move plus a buch of 'self'
      removal, using machine or machines instead.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-j1vtux3vnu6wzmrjutpxnjcz@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      69d2591a
  4. 08 Nov, 2012 11 commits
    • Arnaldo Carvalho de Melo's avatar
      perf diff: Use hists__link when not pairing just with baseline · bfaef4b4
      Arnaldo Carvalho de Melo authored
      Previously there were blind spots because we were not looking at symbols
      that didn't ocurred in the latest run:
      
        # perf record usleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.018 MB perf.data (~801 samples) ]
        # perf record usleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.018 MB perf.data (~801 samples) ]
      
      Before:
      
        # perf diff
        # Event 'cycles'
        #
        # Baseline    Delta      Shared Object                         Symbol
        # ........  .......  .................  .............................
        #
                    +10.38%  [kernel.kallsyms]  [k] get_empty_filp
                     +9.51%  [kernel.kallsyms]  [k] update_sd_lb_stats
                     +9.41%  libpopt.so.0.0.0   [.] _init
                     +9.29%  [kernel.kallsyms]  [k] vma_interval_tree_insert
             9.05%   +0.12%  [kernel.kallsyms]  [k] do_sys_open
                     +9.14%  [kernel.kallsyms]  [k] kfree
                     +8.98%  [kernel.kallsyms]  [k] free_pages_and_swap_cache
                     +8.78%  [kernel.kallsyms]  [k] unmap_page_range
             9.36%   -0.90%  [kernel.kallsyms]  [k] zap_pte_range
             7.60%   +0.09%  [kernel.kallsyms]  [k] find_next_bit
                     +4.37%  [kernel.kallsyms]  [k] place_entity
                     +3.38%  [kernel.kallsyms]  [k] __do_page_fault
                     +0.80%  [kernel.kallsyms]  [k] native_apic_mem_write
             0.21%   +0.43%  [kernel.kallsyms]  [k] native_write_msr_safe
        #
      
      So 9.05 + 9.36 + 7.60 + 0.21 != 100%
      
      Now using the recently introduced hists__link we can see the whole
      picture:
      
        # perf diff
        # Event 'cycles'
        #
        # Baseline    Delta      Shared Object                         Symbol
        # ........  .......  .................  .............................
        #
             8.44%   -8.44%  [kernel.kallsyms]  [k] _raw_spin_lock
             9.05%   -9.05%  [kernel.kallsyms]  [k] sha_transform
            10.55%  -10.55%  [kernel.kallsyms]  [k] __d_lookup_rcu
                    +10.38%  [kernel.kallsyms]  [k] get_empty_filp
            17.70%  -17.70%  [kernel.kallsyms]  [k] kmem_cache_free
                     +9.51%  [kernel.kallsyms]  [k] update_sd_lb_stats
                     +9.41%  libpopt.so.0.0.0   [.] _init
                     +9.29%  [kernel.kallsyms]  [k] vma_interval_tree_insert
             9.05%   +0.12%  [kernel.kallsyms]  [k] do_sys_open
                     +9.14%  [kernel.kallsyms]  [k] kfree
                     +8.98%  [kernel.kallsyms]  [k] free_pages_and_swap_cache
                     +8.78%  [kernel.kallsyms]  [k] unmap_page_range
             9.36%   -0.90%  [kernel.kallsyms]  [k] zap_pte_range
             7.60%   +0.09%  [kernel.kallsyms]  [k] find_next_bit
                     +4.37%  [kernel.kallsyms]  [k] place_entity
                     +3.38%  [kernel.kallsyms]  [k] __do_page_fault
             4.01%   -4.01%  [kernel.kallsyms]  [k] handle_pte_fault
             9.27%   -9.27%  [kernel.kallsyms]  [k] find_get_page
             0.78%   -0.78%  [kernel.kallsyms]  [k] rcu_irq_enter
             0.57%   -0.57%  [kernel.kallsyms]  [k] finish_task_switch
             4.25%   -4.25%  [kernel.kallsyms]  [k] run_timer_softirq
                     +0.80%  [kernel.kallsyms]  [k] native_apic_mem_write
             0.21%   +0.43%  [kernel.kallsyms]  [k] native_write_msr_safe
             9.16%   -9.16%  ld-2.12.so         [.] close
        #
      
      Now:
      
      8.44 + 9.05 + 10.55 + 17.70 + 9.05 + 9.36 +
      7.60 + 4.01 + 9.27 + 0.78 + 0.57 + 4.25 + 0.21 + 9.16 == 100%
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-jeq55qdgby1745bs8r9sscdh@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      bfaef4b4
    • Arnaldo Carvalho de Melo's avatar
      perf hists: Introduce hists__link · 494d70a1
      Arnaldo Carvalho de Melo authored
      That given two hists will find the hist_entries (buckets) in the second
      hists that are for the same bucket in the first and link them, then it
      will look for all buckets in the second that don't have a counterpart in
      the first and will create a dummy counterpart that will then be linked
      to the entry in the second.
      
      For multiple events this will be done pairing the leader with all the
      other events in the group, so that in the end the leader will have all
      the buckets in all the hists in a group, dummy or not while the other
      hists will be left untouched.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-l9l9ieozqdhn9lieokd95okw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      494d70a1
    • Arnaldo Carvalho de Melo's avatar
      perf diff: Move hists__match to the hists lib · 95529be4
      Arnaldo Carvalho de Melo authored
      Its not 'diff' specific and will be useful for other use cases, like
      bucketizing multiple events in a single session.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-o35urjgxfxxm70aw1wa81s4w@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      95529be4
    • Arnaldo Carvalho de Melo's avatar
      perf diff: Start moving to support matching more than two hists · b821c732
      Arnaldo Carvalho de Melo authored
      We want to match more than two hists, so that we can match more than two
      perf.data files and moreover, match hist_entries (buckets) in multiple
      events in a group.
      
      So the "baseline"/"leader" will instead of a ->pair pointer, use a
      list_head, that will link to the pairs and hists__match use it.
      
      Following that perf_evlist__link will link the hists in its evsel
      groups.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-2kbmzepoi544ygj9godseqpv@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b821c732
    • Namhyung Kim's avatar
      perf tools: Don't try to lookup objdump for live mode · ff6f7778
      Namhyung Kim authored
      Arnaldo reported that annotation during perf top resulted in a segfault.
      It was because the env->arch was NULL and we don't set it for a live
      session.  In fact, no need to look up objdump in this case since we can
      use system's default (native) objdump.
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Irina Tirdea <irina.tirdea@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1352251815-12615-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ff6f7778
    • Andi Kleen's avatar
      perf tools: Add arbitary aliases and support names with - · eef9ba98
      Andi Kleen authored
      - Add missing scanner symbol for arbitrary aliases inside the config
        region.
      
      - looks nicer than _, so allow - in the event names. Used for various of
        the arch perfmon and Haswell events.
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1352123463-7346-6-git-send-email-eranian@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      eef9ba98
    • Jiri Olsa's avatar
      perf tools: Add LIBDW_DIR Makefile variable to for alternate libdw · 1fa0bc3f
      Jiri Olsa authored
      Adding LIBDW_DIR Makefile variable to be able to specify
      alternate libdw library location.
      
      To use it run make like:
        $ make LIBDW_DIR=/opt/libdw/
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-n2uv8c9ti6b26fioaw2rq5yv@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1fa0bc3f
    • Jiri Olsa's avatar
      perf tests: Move attr.py temp dir cleanup into finally section · d4fcf0a8
      Jiri Olsa authored
      Currently if there's 'Unsup' exception raised, we do not clean up the
      temp directory. Solving this by adding 'finally' to make the cleanup in
      any case.
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1352390461-15404-1-git-send-email-jolsa@redhat.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d4fcf0a8
    • Namhyung Kim's avatar
      perf hists: Free branch_info when freeing hist_entry · 580e338d
      Namhyung Kim authored
      Those data should be free along with the associated hist_entry,
      otherwise it'll be leaked.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1352273234-28912-7-git-send-email-namhyung@kernel.org
      [ committer note: mem_info is not yet in perf/core, free just branch_info ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      580e338d
    • Namhyung Kim's avatar
      perf tools: Fix detection of stack area · 1e82574d
      Namhyung Kim authored
      Output of /proc/<pid>/maps contains helpful information to anonymous
      mappings like stack, heap, ...  For the case of stack, it can show
      multiple stack area for each thread in the process:
      
        $ cat /proc/$(pidof gnome-shell)/maps | grep stack
        7fe019946000-7fe01a146000 rw-p 00000000 00:00 0          [stack:1624]
        7fe040e32000-7fe041632000 rw-p 00000000 00:00 0          [stack:1451]
        7fe041643000-7fe041e43000 rw-p 00000000 00:00 0          [stack:1450]
        7fe04204b000-7fe04284b000 rw-p 00000000 00:00 0          [stack:1449]
        7fe042a7e000-7fe04327e000 rw-p 00000000 00:00 0          [stack:1446]
        7fe0432ff000-7fe043aff000 rw-p 00000000 00:00 0          [stack:1445]
        7fe043b00000-7fe044300000 rw-p 00000000 00:00 0          [stack:1444]
        7fe044301000-7fe044b01000 rw-p 00000000 00:00 0          [stack:1443]
        7fe044b02000-7fe045302000 rw-p 00000000 00:00 0          [stack:1442]
        7fe045303000-7fe045b03000 rw-p 00000000 00:00 0          [stack:1441]
        7fe045b04000-7fe046304000 rw-p 00000000 00:00 0          [stack:1440]
        7fe046305000-7fe046b05000 rw-p 00000000 00:00 0          [stack:1439]
        7fe046b06000-7fe047306000 rw-p 00000000 00:00 0          [stack:1438]
        7fff4b16f000-7fff4b190000 rw-p 00000000 00:00 0          [stack]
      
      However perf only knew about the main thread's.  Fix it.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1352273234-28912-4-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1e82574d
    • Namhyung Kim's avatar
      perf machine: Set kernel data mapping length · 4552cf0f
      Namhyung Kim authored
      Currently only text (function) mapping was set, so that the kernel data
      addresses couldn't parsed correctly.  Fix it.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1352273234-28912-3-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4552cf0f