1. 19 9月, 2013 1 次提交
  2. 22 7月, 2013 1 次提交
  3. 13 7月, 2013 1 次提交
  4. 28 5月, 2013 5 次提交
  5. 01 4月, 2013 3 次提交
  6. 01 2月, 2013 1 次提交
  7. 25 1月, 2013 6 次提交
  8. 09 12月, 2012 2 次提交
  9. 15 11月, 2012 1 次提交
  10. 09 11月, 2012 3 次提交
    • A
      perf hists: Introduce hists__link · 494d70a1
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      494d70a1
    • A
      perf diff: Move hists__match to the hists lib · 95529be4
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      95529be4
    • A
      perf diff: Start moving to support matching more than two hists · b821c732
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      b821c732
  11. 08 11月, 2012 1 次提交
  12. 05 10月, 2012 4 次提交
  13. 27 9月, 2012 1 次提交
    • N
      perf hists: Add missing period_* fields when collapsing a hist entry · 9ec60972
      Namhyung Kim 提交于
      So that the perf report won't lost the cpu utilization information.
      
      For example, if there're two process that have same name.
      
        $ perf report --stdio --showcpuutilization -s pid
        [SNIP]
        #   Overhead       sys        us  Command:  Pid
        #   ........  ........  ........  .............
        #
              55.12%     0.01%    55.10%  noploop:28781
              44.88%     0.06%    44.83%  noploop:28782
      
      Before:
        $ perf report --stdio --showcpuutilization -s comm
        [SNIP]
        #   Overhead       sys        us
        #   ........  ........  ........
        #
             100.00%     0.06%    44.83%
      
      After:
        $ perf report --stdio --showcpuutilization -s comm
        [SNIP]
        #   Overhead       sys        us
        #   ........  ........  ........
        #
             100.00%     0.07%    99.93%
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Arun Sharma <asharma@fb.com>
      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: 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/1348645663-25303-2-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      9ec60972
  14. 11 9月, 2012 1 次提交
    • I
      perf tools: Use __maybe_used for unused variables · 1d037ca1
      Irina Tirdea 提交于
      perf defines both __used and __unused variables to use for marking
      unused variables. The variable __used is defined to
      __attribute__((__unused__)), which contradicts the kernel definition to
      __attribute__((__used__)) for new gcc versions. On Android, __used is
      also defined in system headers and this leads to warnings like: warning:
      '__used__' attribute ignored
      
      __unused is not defined in the kernel and is not a standard definition.
      If __unused is included everywhere instead of __used, this leads to
      conflicts with glibc headers, since glibc has a variables with this name
      in its headers.
      
      The best approach is to use __maybe_unused, the definition used in the
      kernel for __attribute__((unused)). In this way there is only one
      definition in perf sources (instead of 2 definitions that point to the
      same thing: __used and __unused) and it works on both Linux and Android.
      This patch simply replaces all instances of __used and __unused with
      __maybe_unused.
      Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com>
      Acked-by: NPekka Enberg <penberg@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      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/1347315303-29906-7-git-send-email-irina.tirdea@intel.com
      [ committer note: fixed up conflict with a116e05d in builtin-sched.c ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1d037ca1
  15. 09 9月, 2012 1 次提交
  16. 20 8月, 2012 1 次提交
  17. 25 7月, 2012 2 次提交
  18. 31 5月, 2012 1 次提交
  19. 18 5月, 2012 1 次提交
    • J
      perf hists: Fix callchain ip printf format · a0187060
      Jiri Olsa 提交于
      The callchain address is stored as u64. Current code uses following
      format string to display callchain address:
      
        "%p\n", (void *)(long)chain->ip
      
      This way we lose upper 32 bits if we report 64 bit addresses in 32 bit
      environment. Fixing this to always display whole 64 bits.
      
      Note, running following to test perf endianity handling:
      test 1)
        - origin system:
          # perf record -a -- sleep 10 (any perf record will do)
          # perf report > report.origin
          # perf archive perf.data
      
        - copy the perf.data, report.origin and perf.data.tar.bz2
          to a target system and run:
          # tar xjvf perf.data.tar.bz2 -C ~/.debug
          # perf report > report.target
          # diff -u report.origin report.target
      
        - the diff should produce no output
          (besides some white space stuff and possibly different
           date/TZ output)
      
      test 2)
        - origin system:
          # perf record -ag -fo /tmp/perf.data -- sleep 1
        - mount origin system root to the target system on /mnt/origin
        - target system:
          # perf script --symfs /mnt/origin -I -i /mnt/origin/tmp/perf.data \
           --kallsyms /mnt/origin/proc/kallsyms
        - complete perf.data header is displayed
      Signed-off-by: NJiri Olsa <jolsa@redhat.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@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1337151548-2396-8-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a0187060
  20. 06 4月, 2012 1 次提交
    • D
      perf hists: Catch and handle out-of-date hist entry maps. · 63fa471d
      David Miller 提交于
      When a process exec()'s, all the maps are retired, but we keep the hist
      entries around which hold references to those outdated maps.
      
      If the same library gets mapped in for which we have hist entries, a new
      map will be created.  But when we take a perf entry hit within that map,
      we'll find the existing hist entry with the older map.
      
      This causes symbol translations to be done incorrectly.  For example,
      the perf entry processing will lookup the correct uptodate map entry and
      use that to calculate the symbol and DSO relative address.  But later
      when we update the histogram we'll translate the address using the
      outdated map file instead leading to conditions such as out-of-range
      offsets in symbol__inc_addr_samples().
      
      Therefore, update the map of the hist_entry dynamically at lookup/
      creation time.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Cc: stable@kernel.org
      Link: http://lkml.kernel.org/r/20120327.031418.1220315351537060808.davem@davemloft.netSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      63fa471d
  21. 27 3月, 2012 1 次提交
    • F
      perf tools: Fix display of first level of callchains · 6d4818c5
      Frederic Weisbecker 提交于
      The callchain stdio mode display was written using a sorted by symbol
      report. In this mode we have only one callchain root per hist so we
      forgot to handle cases where we have multiple callchain root, as in per
      dso sorting for example.
      
      Fix this by handling these roots like any other branch, with the hist as
      the parent.
      
      Before:
      
           1.97%  libpthread-2.12.1.so
                  |
                  --- __libc_write
                      create_worker
                      bench_sched_messaging
                      cmd_bench
                      run_builtin
                      main
                      __libc_start_main
      
                  |
                  --- __libc_read
                      create_worker
                      bench_sched_messaging
                      cmd_bench
                      run_builtin
                      main
                      __libc_start_main
      
      After:
      
           1.97%  libpthread-2.12.1.so
                  |
                  |--36.97%-- __libc_write
                  |          create_worker
                  |          bench_sched_messaging
                  |          cmd_bench
                  |          run_builtin
                  |          main
                  |          __libc_start_main
                  |
                  |--31.47%-- __libc_read
                  |          create_worker
                  |          bench_sched_messaging
                  |          cmd_bench
                  |          run_builtin
                  |          main
                  |          __libc_start_main
                 ...
      
      Single roots keep their entry without percentage because they have
      the same overhead than the hist they refer to. ie: 100% in fractal
      mode and the percentage of the hist in graph mode:
      
           0.00%  [k] reschedule_interrupt
                  |
                  --- default_idle
                      amd_e400_idle
                      cpu_idle
                      start_secondary
      Reported-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      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/1332526010-15400-1-git-send-email-fweisbec@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      6d4818c5
  22. 23 3月, 2012 1 次提交