Skip to content
  1. Dec 08, 2014
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-2' of... · cfa0bd52
      Ingo Molnar authored
      
      Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core improvements from Arnaldo Carvalho de Melo:
      
      User visible changes:
      
        - Support handling complete branch stacks as histograms (Andi Kleen)
      
      Infrastructure changes:
      
        - Prep work for supporting per-pkg and snapshot counters in 'perf stat' (Jiri Olsa)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      cfa0bd52
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · e460bfdc
      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:
      
        - Callchain improvements from Andi Kleen including:
          * Enable printing the srcline in the history
          * Make get_srcline fall back to sym+offset
      
        - Allow to force redirect pr_debug to stderr. (Andi Kleen)
      
        - TUI hist_entry browser fixes, including showing missing overhead
          value for first level callchain. Detected comparing the output of
          --stdio/--gui (that matched) with --tui, that had this problem. (Namhyung Kim)
      
        - Fix segfault due to invalid kernel dso access (Namhyung Kim)
      
      Infrastructure changes:
      
        - Move bfd_demangle stubbing to its only user (Arnaldo Carvalho de Melo)
      
        - 'perf stat' refactorings, moving stuff from it to evsel.c to use in
          per-pkg/snapshot format changes (Jiri Olsa)
      
        - Add per-pkg format file parsing (Matt Fleming)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      e460bfdc
  2. Dec 02, 2014
    • Andi Kleen's avatar
      perf report: In branch stack mode use address history sorting · 09a6a1b0
      Andi Kleen authored
      
      
      Enable CCKEY_ADDRESS address history sorting with --branch-history.
      This makes get_srcline display the source lines correctly, otherwise all
      history entries for a function a hunked into one.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Link: http://lkml.kernel.org/r/1416275935-20971-1-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      09a6a1b0
    • Andi Kleen's avatar
      perf report: Add --branch-history option · fa94c36c
      Andi Kleen authored
      
      
      Add a --branch-history option to perf report that changes all the
      settings necessary for using the branches in callstacks.
      
      This is just a short cut to make this nicer to use, it does not enable
      any functionality by itself.
      
      v2: Change sort order. Rename option to --branch-history to
          be less confusing.
      v3: Updates
      v4: Fix conflict with newer perf base
      v5: Port to latest tip
      v6: Add more comments. Remove CCKEY_ADDRESS setting. Remove
          unnecessary branch_mode setting. Use a boolean.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-5-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fa94c36c
    • Andi Kleen's avatar
      perf callchain: Support handling complete branch stacks as histograms · 8b7bad58
      Andi Kleen authored
      
      
      Currently branch stacks can be only shown as edge histograms for
      individual branches. I never found this display particularly useful.
      
      This implements an alternative mode that creates histograms over
      complete branch traces, instead of individual branches, similar to how
      normal callgraphs are handled. This is done by putting it in front of
      the normal callgraph and then using the normal callgraph histogram
      infrastructure to unify them.
      
      This way in complex functions we can understand the control flow that
      lead to a particular sample, and may even see some control flow in the
      caller for short functions.
      
      Example (simplified, of course for such simple code this is usually not
      needed), please run this after the whole patchkit is in, as at this
      point in the patch order there is no --branch-history, that will be
      added in a patch after this one:
      
      tcall.c:
      
      volatile a = 10000, b = 100000, c;
      
      __attribute__((noinline)) f2()
      {
      	c = a / b;
      }
      
      __attribute__((noinline)) f1()
      {
      	f2();
      	f2();
      }
      main()
      {
      	int i;
      	for (i = 0; i < 1000000; i++)
      		f1();
      }
      
      % perf record -b -g ./tsrc/tcall
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.044 MB perf.data (~1923 samples) ]
      % perf report --no-children --branch-history
      ...
          54.91%  tcall.c:6  [.] f2                      tcall
                  |
                  |--65.53%-- f2 tcall.c:5
                  |          |
                  |          |--70.83%-- f1 tcall.c:11
                  |          |          f1 tcall.c:10
                  |          |          main tcall.c:18
                  |          |          main tcall.c:18
                  |          |          main tcall.c:17
                  |          |          main tcall.c:17
                  |          |          f1 tcall.c:13
                  |          |          f1 tcall.c:13
                  |          |          f2 tcall.c:7
                  |          |          f2 tcall.c:5
                  |          |          f1 tcall.c:12
                  |          |          f1 tcall.c:12
                  |          |          f2 tcall.c:7
                  |          |          f2 tcall.c:5
                  |          |          f1 tcall.c:11
                  |          |
                  |           --29.17%-- f1 tcall.c:12
                  |                     f1 tcall.c:12
                  |                     f2 tcall.c:7
                  |                     f2 tcall.c:5
                  |                     f1 tcall.c:11
                  |                     f1 tcall.c:10
                  |                     main tcall.c:18
                  |                     main tcall.c:18
                  |                     main tcall.c:17
                  |                     main tcall.c:17
                  |                     f1 tcall.c:13
                  |                     f1 tcall.c:13
                  |                     f2 tcall.c:7
                  |                     f2 tcall.c:5
                  |                     f1 tcall.c:12
      
      The default output is unchanged.
      
      This is only implemented in perf report, no change to record or anywhere
      else.
      
      This adds the basic code to report:
      
      - add a new "branch" option to the -g option parser to enable this mode
      - when the flag is set include the LBR into the callstack in machine.c.
      
      The rest of the history code is unchanged and doesn't know the
      difference between LBR entry and normal call entry.
      
      - detect overlaps with the callchain
      - remove small loop duplicates in the LBR
      
      Current limitations:
      
      - The LBR flags (mispredict etc.) are not shown in the history
      and LBR entries have no special marker.
      - It would be nice if annotate marked the LBR entries somehow
      (e.g. with arrows)
      
      v2: Various fixes.
      v3: Merge further patches into this one. Fix white space.
      v4: Improve manpage. Address review feedback.
      v5: Rename functions. Better error message without -g. Fix crash without
          -b.
      v6: Rebase
      v7: Rebase. Use NO_ENTRY in memset.
      v8: Port to latest tip. Move add_callchain_ip to separate
          patch. Skip initial entries in callchain. Minor cleanups.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-3-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8b7bad58
    • Jiri Olsa's avatar
      perf stat: Add support for snapshot counters · 6c0345b7
      Jiri Olsa authored
      
      
      The .snapshot file indicates that the provided event value is a snapshot
      value. Bypassing the delta computation logic for such event.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-12-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6c0345b7
    • Jiri Olsa's avatar
      perf stat: Add support for per-pkg counters · 779d0b99
      Jiri Olsa authored
      
      
      The .per-pkg file indicates that all but one value per socket should be
      discarded. Adding the logic of skipping the rest of the socket once
      first value was read.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-11-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      779d0b99
    • Jiri Olsa's avatar
      perf tools: Remove perf_evsel__read interface · a5a7fd76
      Jiri Olsa authored
      
      
      Removing the perf_evsel__read interfaces because we replaced the only
      user in the stat command code.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-8-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a5a7fd76
    • Jiri Olsa's avatar
      perf stat: Use read_counter in read_counter_aggr · 1971f59f
      Jiri Olsa authored
      
      
      Use the read_counter function as the values retrieval function for aggr
      counter values thus eliminating the use of __perf_evsel__read function.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-7-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1971f59f
    • Jiri Olsa's avatar
      perf stat: Make read_counter work over the thread dimension · 9bf1a529
      Jiri Olsa authored
      
      
      The read function will be used later for both aggr and cpu counters, so
      we need to make it work over threads as well.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-6-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9bf1a529
    • Jiri Olsa's avatar
      perf stat: Use perf_evsel__read_cb in read_counter · 060c4f9c
      Jiri Olsa authored
      
      
      Replacing __perf_evsel__read_on_cpu function with perf_evsel__read_cb
      function. The read_cb callback will be used later for global aggregation
      counter values as well.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-5-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      060c4f9c
  3. Nov 25, 2014
    • Jiri Olsa's avatar
      perf tools: Add snapshot format file parsing · 1d9e446b
      Jiri Olsa authored
      
      
      The .snapshot file indicates that the provided event value is a snapshot
      value and we have to bypass the delta computation logic.
      
      Adding support to check up this file and set event flag accordingly.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-10-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1d9e446b
    • Matt Fleming's avatar
      perf tools: Add per-pkg format file parsing · 044330c1
      Matt Fleming authored
      
      
      The .per-pkg file indicates that all but one value per socket should be
      discarded. Adding support to check up this file and set event flag
      accordingly.
      
      This patch is part of Matt's original patch:
      
      http://marc.info/?l=linux-kernel&m=141527675002139&w=2 only the file
      parsing part, the rest is solved differently.
      
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-9-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      044330c1
    • Jiri Olsa's avatar
      perf evsel: Introduce perf_evsel__read_cb function · 011dccbd
      Jiri Olsa authored
      
      
      Adding perf_evsel__read_cb read function that retuns count values via
      callback. It will be used later in stat command as single way to
      retrieve counter values.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-4-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      011dccbd
    • Jiri Olsa's avatar
      perf evsel: Introduce perf_counts_values__scale function · 13112bbf
      Jiri Olsa authored
      
      
      Factoring out scale login into perf_counts_values__scale function.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-3-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      13112bbf
    • Jiri Olsa's avatar
      perf evsel: Introduce perf_evsel__compute_deltas function · 857a94a2
      Jiri Olsa authored
      
      
      Making compute_deltas functions global and renaming it to
      perf_evsel__compute_deltas.
      
      It will be used in stat command in later patch.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: Namhyung Kim <namhyung@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/1416562275-12404-2-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      857a94a2
    • Andi Kleen's avatar
      perf tools: Allow to force redirect pr_debug to stderr. · f78eaef0
      Andi Kleen authored
      
      
      When debugging the tui browser I find it useful to redirect the debug
      log into a file. Currently it's always forced to the message line.
      
      Add an option to force it to stderr. Then it can be easily redirected.
      
      Example:
      
        [root@zoo ~]# perf --debug stderr report -vv 2> /tmp/debug
        [root@zoo ~]# tail /tmp/debug
        dso open failed, mmap: No such file or directory
        dso open failed, mmap: No such file or directory
        dso open failed, mmap: No such file or directory
        dso open failed, mmap: No such file or directory
        dso open failed, mmap: No such file or directory
        Using /root/.debug/.build-id/4e/841948927029fb650132253642d5dbb2c1fb93 for symbols
        Failed to open /tmp/perf-8831.map, continuing without symbols
        Failed to open /tmp/perf-12721.map, continuing without symbols
        Failed to open /tmp/perf-6966.map, continuing without symbols
        Failed to open /tmp/perf-8802.map, continuing without symbols
        [root@zoo ~]#
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1416605880-25055-2-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f78eaef0
    • Namhyung Kim's avatar
      perf tools: Fix segfault due to invalid kernel dso access · 330dfa22
      Namhyung Kim authored
      Jiri reported that the commit 96d78059
      
       ("perf tools: Make vmlinux
      short name more like kallsyms short name") segfaults on perf script.
      
      When processing kernel mmap event, it should access the 'kernel'
      variable as sometimes it cannot find a matching dso from build-id table
      so 'dso' might be invalid.
      
      Reported-by: default avatarJiri Olsa <jolsa@redhat.com>
      Tested-by: default avatarJiri Olsa <jolsa@redhat.com>
      Signed-off-by: default avatarNamhyung 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: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1416285028-30572-1-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      330dfa22
    • Andi Kleen's avatar
      perf callchain: Make get_srcline fall back to sym+offset · 85c116a6
      Andi Kleen authored
      
      
      When the source line is not found fall back to sym + offset.  This is
      generally much more useful than a raw address.
      
      For this we need to pass in the symbol from the caller.
      
      For some callers it's awkward to compute, so we stay at the old
      behaviour.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-10-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      85c116a6
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Move bfd_demangle stubbing to its only user · aaba4e12
      Arnaldo Carvalho de Melo authored
      
      
      We need to define bfd_demangle() to either a wrapper for
      cplus_demangle() or to a stub when NO_DEMANGLE is defined.
      
      That is at odds with using bfd.h for some other reason, as it defines
      bfd_demangle() and then if code that wants to use symbol.h, where the
      above stubbing/wrapping is done, and bfd.h for other reasons, we end up
      with a build error where bfd_demangle() is found to be redefined.
      
      Avoid that by moving the stubbing/wrapping to symbol-elf.c, that is the
      only user of such function. If we ever get to a point where there are
      more valid users, we can then introduce a header for that.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-6wzjpe2fy9xtgchshulixlzw@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      aaba4e12
    • Andi Kleen's avatar
      perf callchain: Enable printing the srcline in the history · 23f0981b
      Andi Kleen authored
      
      
      For lbr-as-callgraph we need to see the line number in the history,
      because many LBR entries can be in a single function, and just
      showing the same function name many times is not useful.
      
      When the history code is configured to sort by address, also try to
      resolve the address to a file:srcline and display this in the browser.
      If that doesn't work still display the address.
      
      This can be also useful without LBRs for understanding which call in a large
      function (or in which inlined function) called something else.
      
      Contains fixes from Namhyung Kim
      
      v2: Refactor code into common function
      v3: Fix GTK build
      v4: Rebase
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-7-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      23f0981b
  4. Nov 24, 2014
    • Namhyung Kim's avatar
      perf tools: Collapse first level callchain entry if it has sibling · a7444af6
      Namhyung Kim authored
      
      
      If first level callchain has more than single path like when -g caller
      option is given, it should show only first one in the path and hide
      others.  But it didn't do it properly and just hindered the output.
      
      Before:
        -   80.33%    11.11%  abc2     abc2              [.] main
           + 86.18% main
             13.82% __libc_start_main
                main
      
      After:
        -   80.33%    11.11%  abc2     abc2              [.] main
           + 86.18% main
           + 13.82% __libc_start_main
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1416816807-6495-2-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a7444af6
    • Namhyung Kim's avatar
      perf hists browser: Print overhead percent value for first-level callchain · 4087d11c
      Namhyung Kim authored
      
      
      Currently perf report on TUI doesn't print percent for first-level
      callchain entry.
      
      I guess it (wrongly) assumes that there's only a single callchain in the
      first level.
      
      This patch fixes it by handling the first level callchains same as
      others - if it's not 100% it should print the percent value.
      
      Also it'll affect other callchains in the other way around - if it's
      100% (single callchain) it should not print the percentage.
      
      Before:
        -   30.95%     6.84%  abc2     abc2              [.] a
           - a
              - 70.00% c
                 - 100.00% apic_timer_interrupt
                      smp_apic_timer_interrupt
                      local_apic_timer_interrupt
                      hrtimer_interrupt
                      ...
              + 30.00% b
           + __libc_start_main
      
      After:
        -   30.95%     6.84%  abc2     abc2              [.] a
           - 77.90% a
              - 70.00% c
                 - apic_timer_interrupt
                   smp_apic_timer_interrupt
                   local_apic_timer_interrupt
                   hrtimer_interrupt
                   ...
              + 30.00% b
           + 22.10% __libc_start_main
      
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1416816807-6495-1-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4087d11c
  5. Nov 20, 2014
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 4e6e311e
      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 fixes:
      
       - Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo Carvalho de Melo)
      
       - Fix annotation with kcore (Adrian Hunter)
      
       - Fix up srcline histogram key formatting (Arnaldo Carvalho de Melo)
      
       - Add missing handler for PERF_RECORD_MMAP2 events in 'perf diff' (Kan Liang)
      
      User visible changes/new features:
      
       - Only print base source file for srcline histogram sort key (Andi Kleen)
      
       - Support source line numbers in annotate using a hotkey (Andi Kleen)
      
      Infrastructure changes and fixes:
      
       - Do not poll events that use the system_wide flag (Adrian Hunter)
      
       - Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore (Adrian Hunter)
      
       - Only override the default :tid comm entry (Adrian Hunter)
      
       - Factor out adding new call chain entries (Andi Kleen)
      
       - Use al.addr to set up call chain (Andi Kleen)
      
       - Use a common function to resolve symbol or name (Andi Kleen)
      
       - Fix ftrace:function event recording (Jiri Olsa)
      
       - Move disable_buildid_cache() to util/build-id.c (Namhyung Kim)
      
       - Clean up libelf feature support code (Namhyung Kim)
      
       - Fix typo in python 'perf test' (WANG Chao)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4e6e311e
  6. Nov 19, 2014
    • Adrian Hunter's avatar
      perf tools: Only override the default :tid comm entry · a8480808
      Adrian Hunter authored
      
      
      Events may still be ordered even if there are no timestamps e.g. if the
      data is recorded per-thread.
      
      Also synthesized COMM events have a timestamp of zero.
      
      Consequently it is better to keep comm entries even if they have a
      timestamp of zero.
      
      However, when a struct thread is created the command string is not known
      and a comm entry with a string of the form ":<tid>" is used.
      
      In that case thread->comm_set is false and the comm entry should be
      overridden.
      
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      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/r/1415715423-15563-4-git-send-email-adrian.hunter@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a8480808
    • Adrian Hunter's avatar
      perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore · 4b34f19b
      Adrian Hunter authored
      
      
      Recently added executables Add perf-read-vdso32 and perf-read-vdsox32
      need to be added to .gitignore.
      
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      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/r/1415715423-15563-3-git-send-email-adrian.hunter@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4b34f19b
    • Adrian Hunter's avatar
      perf evlist: Do not poll events that use the system_wide flag · f90d194a
      Adrian Hunter authored
      
      
      The system_wide flag causes a selected event to be opened always without
      a pid.
      
      Consequently it will never get a POLLHUP, but it is used for tracking in
      combination with other events, so it should not need to be polled
      anyway.
      
      Therefore don't add it for polling.
      
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      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/r/1415715423-15563-2-git-send-email-adrian.hunter@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f90d194a
    • Jiri Olsa's avatar
      perf evsel: Fix ftrace:function event recording · f140373b
      Jiri Olsa authored
      Following patch fails (-EINVAL) ftrace:function with enabled user
      space callchains:
        cfa77bc4
      
       perf: Disallow user-space callchains for function trace events
      
      We need to follow in perf tool itself and explicitly set the
      perf_event_attr::exclude_callchain_user flag for ftrace:function
      event.
      
      Reported-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1415899263-24820-1-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f140373b
    • Kan Liang's avatar
      perf diff: Add missing handler for PERF_RECORD_MMAP2 events · 68ca9d65
      Kan Liang authored
      
      
      Without mmap2, perf diff fails to find the symbol name. The default
      symbol sort key doesn't work well.
      
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1416328700-1836-2-git-send-email-kan.liang@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      68ca9d65
    • Arnaldo Carvalho de Melo's avatar
      perf hists: Fix up srcline histogram key formatting · b2d53671
      Arnaldo Carvalho de Melo authored
      Problem introduced in:
      
        commit 5b591669
      
       "perf report: Honor column width setting"
      
      Where the left justification signal was after the width, which ended up,
      when the width was, say, 11, always printing:
      
      	%11.11-s
      
      Instead of src:line left justified and limited to 11 chars.
      
      Resulting in a like:
      
          70.93%  %11.11-s  [.] f2                     tcall
      
      When it should instead be:
      
          70.93%  tcall.c:5    [.] f2                     tcall
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-2xnt0vqkoox52etq2qhyetr0@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b2d53671
    • Andi Kleen's avatar
      perf annotate: Support source line numbers in annotate · e592488c
      Andi Kleen authored
      
      
      With srcline key/sort'ing it's useful to have line numbers in the
      annotate window. This patch implements this.
      
      Use objdump -l to request the line numbers and save them in the line
      structure. Then the browser displays them for source lines.
      
      The line numbers are not displayed by default, but can be toggled on
      with 'k'
      
      There is one unfortunate problem with this setup. For lines not
      containing source and which are outside functions objdump -l reports
      line numbers off by a few: it always reports the first line number in
      the next function even for lines that are outside the function.
      
      I haven't found a nice way to detect/correct this. Probably objdump has
      to be fixed.
      
      See https://sourceware.org/bugzilla/show_bug.cgi?id=16433
      
      The line numbers are still useful even with these problems, as most are
      correct and the ones which are not are nearby.
      
      v2: Fix help text. Handle (discriminator...) output in objdump.
      Left align the line numbers.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-9-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e592488c
    • Andi Kleen's avatar
      perf tools: Only print base source file for srcline · 2de21768
      Andi Kleen authored
      
      
      For perf report with --sort srcline only print the base source file
      name. This makes the results generally fit much better to the screen.
      The path is usually not that useful anyways because it is often from
      different systems.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-8-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2de21768
    • Andi Kleen's avatar
      perf callchain: Use a common function to resolve symbol or name · 2989ccaa
      Andi Kleen authored
      
      
      Refactor the duplicated code to resolve the symbol name or
      the address of a symbol into a single function.
      
      Used in next patch to add common functionality.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-6-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2989ccaa
    • Andi Kleen's avatar
      perf callchain: Use al.addr to set up call chain · 5550171b
      Andi Kleen authored
      
      
      Use the relative address, this makes get_srcline work correctly in the
      end.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-4-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5550171b
    • Andi Kleen's avatar
      perf callchain: Factor out adding new call chain entries · 37592b8a
      Andi Kleen authored
      
      
      Move the code to resolve and add a new callchain entry into a new
      add_callchain_ip function. This will be used in the next patches to add
      LBRs too.
      
      No change in behavior.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1415844328-4884-2-git-send-email-andi@firstfloor.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      37592b8a
    • Adrian Hunter's avatar
      perf tools: Fix annotation with kcore · ee205503
      Adrian Hunter authored
      
      
      Patch "perf tools: Fix build-id matching on vmlinux" breaks annotation
      with kcore.  The problem is that symbol__annotate() first gets the
      filename based on the build-id which was previously not set.
      
      This patch provides a quick fix, however there should probably be only
      one way to determine the filename. e.g.  symbol__annotate() should use
      the same way as dso__data_fd().
      
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      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/r/1415700294-30816-1-git-send-email-adrian.hunter@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ee205503
    • WANG Chao's avatar
      perf test: fix typo in python test · 887e73d7
      WANG Chao authored
      
      
      Library loading in python syntax should be 'import perf', not 'use perf'.
      
      Signed-off-by: default avatarWANG Chao <chaowang@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1415780826-13250-1-git-send-email-chaowang@redhat.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      887e73d7
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader · 162bcc17
      Arnaldo Carvalho de Melo authored
      
      
      The minimal ELF loader should not return 1 when it manages to read the
      vmlinux build-id, it should instead return 0, meaning that it hasn't
      loaded any symbols, since it doesn't parses ELF at all.
      
      That way, the main symbol.c routines will understand that it is
      necessary to continue looking for a file with symbols, and when no
      libelf is linked, that means it will eventually try kallsyms.
      
      Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Tested-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/20141111130326.GT18464@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      162bcc17
    • Namhyung Kim's avatar
      perf tools: Clean up libelf feature support code · 5e2d4d0e
      Namhyung Kim authored
      
      
      Current EXTLIBS contains -lelf by default and removes it when libelf is
      not detected.
      
      This is little bit confusing since we can now build perf without libelf
      so there's no need to handle it differently than other libraries.
      
      Signed-off-by: default avatarNamhyung 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: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1415337606-2186-3-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5e2d4d0e
    • Namhyung Kim's avatar
      perf build-id: Move disable_buildid_cache() to util/build-id.c · 73c5d224
      Namhyung Kim authored
      
      
      Also move static variable no_buildid_cache and check it in the
      perf_session_cache_build_ids().
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Pekka Enberg <penberg@iki.fi>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
      Cc: systemtap@sourceware.org
      Link: http://lkml.kernel.org/r/1415368677-3794-1-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      73c5d224