1. 11 2月, 2015 1 次提交
  2. 07 2月, 2015 7 次提交
  3. 06 2月, 2015 9 次提交
  4. 30 1月, 2015 8 次提交
  5. 28 1月, 2015 2 次提交
    • V
      perf tools: Provide stub for missing pthread_attr_setaffinity_np · 459a3df7
      Vineet Gupta 提交于
      uClibc Linuxthreads.old doesn't support the pthread_attr_setaffinity_np()
      functioo:
      
         ----------------->8-----------------------
        CC       bench/futex-hash.o
        CC       bench/futex-wake.o
      bench/futex-hash.c: In function 'bench_futex_hash':
      bench/futex-hash.c:161:3: error: implicit declaration of function
      'pthread_attr_setaffinity_np' [-Werror=implicit-function-declaration]
         ret = pthread_attr_setaffinity_np(&thread_attr, sizeof(cpu_set_t),
      &cpu);
         ^
      bench/futex-hash.c:161:3: error: nested extern declaration of
      'pthread_attr_setaffinity_np' [-Werror=nested-externs]
         ----------------->8-----------------------
      
      So introduce a test to check that and if not available provide a stub.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1421156604-30603-6-git-send-email-vgupta@synopsys.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      459a3df7
    • V
      perf evsel: Don't rely on malloc working for sz 0 · 8d9cbd8f
      Vineet Gupta 提交于
      When running perf on ARC (uClibc based userspace), ran into this issue
         ------------->8----------------
      	[ARCLinux]$ ./perf record ls
      	bin             etc             perf            sys
      	debug           init            perf.data       tmp
      	[ perf record: Woken up 1 times to write data ]
      	[ perf record: Captured and wrote 0.001 MB perf.data (~24 samples) ]
      
      	[ARCLinux]$ ./perf report
      	incompatible file format (rerun with -v to learn more)
         ------------->8----------------
      
      The problem happens in the following call stack when zalloc is called
      with size zero
      
      glibc default / uClibc with MALLOC_GLIBC_COMPAT are OK, but not if that
      config option is not enabled.
      
        cmd_report
           perf_session__new
      	perf_session__open
      	    perf_session__read_header
      		read_attr(fd, header, &f_attr)
      		nr_ids = f_attr.ids.size / sizeof(u64); <-- 0
      		perf_evsel__alloc_id(vsel, 1, nr_ids)
      			zalloc(ncpus * nthreads * sizeof(u64)) <-- 0
      
      header.c: read_attr()
      
      (gdb) p *f_attr
      $17 = {
        attr = {
          type = 0,
          size = 96,
          config = 0,
          {
            sample_period = 4000,
            sample_freq = 4000
          },
      ...
        ids = {
          offset = 104,
          size = 0      <------
        }
      }
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Suggested-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1421156604-30603-5-git-send-email-vgupta@synopsys.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8d9cbd8f
  6. 26 1月, 2015 1 次提交
  7. 23 1月, 2015 4 次提交
  8. 22 1月, 2015 8 次提交
    • A
      perf trace: Fix error reporting for evsel pgfault constructor · 5ed08dae
      Arnaldo Carvalho de Melo 提交于
      In that case the only failure possible is not to have enough memory, as
      we are just creating the evsels, not trying to access any system
      facility such as debugfs files or syscalls.
      
      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: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-7k6asvfhiwiu2zs6o2oknchk@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      5ed08dae
    • A
      tools lib fs: Pass filename to debugfs__strerror_open · 801c67b0
      Arnaldo Carvalho de Melo 提交于
      It was hardcoded for one specific tracepoint, leftover from its initial
      user: 'perf trace'.
      
      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: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-j1jicvwljy5qx1nah4mkmyke@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      801c67b0
    • A
      tools lib fs: Adopt debugfs open strerrno method · e2726d99
      Arnaldo Carvalho de Melo 提交于
      As this is not specific to an evlist and may be used with other tools.
      
      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: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-a9up9mivx1pzdf5tqrqsx62d@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      
       	tools/perf/util/include/asm/hash.h
      e2726d99
    • N
      perf diff: Fix -o/--order option behavior · 566b5cfb
      Namhyung Kim 提交于
      The prior change fixes default output ordering with each column but it
      breaks -o/--order option.  This patch prepends a new hpp fmt struct to
      sort list but not to output field list so that it can affect ordering
      without adding a new output column.
      
      The new hpp fmt uses its own compare functions which treats dummy
      entries (which have no baseline) little differently - the delta field
      can be computed without baseline but others (ratio and wdiff) are not.
      
      The new output will look like below:
      
        $ perf diff -o 2 perf.data.{old,cur,new}
        ...
        # Baseline/0  Delta/1  Delta/2  Shared Object      Symbol
        # ..........  .......  .......  .................  ..........................................
              22.98%   +0.51%   +0.52%  libc-2.20.so       [.] _int_malloc
               5.70%   +0.28%   +0.30%  libc-2.20.so       [.] free
               4.38%   -0.21%   +0.25%  a.out              [.] main
               1.32%   -0.15%   +0.05%  a.out              [.] free@plt
                                +0.01%  [kernel.kallsyms]  [k] intel_pstate_timer_func
                                +0.01%  [kernel.kallsyms]  [k] _raw_spin_lock_irqsave
                                +0.01%  [kernel.kallsyms]  [k] timekeeping_update.constprop.8
                       +0.01%   +0.01%  [kernel.kallsyms]  [k] apic_timer_interrupt
               0.01%            -0.00%  [kernel.kallsyms]  [k] native_read_msr_safe
               0.01%   -0.01%   -0.01%  [kernel.kallsyms]  [k] native_write_msr_safe
               1.31%   +0.03%   -0.06%  a.out              [.] malloc@plt
              31.50%   -0.74%   -0.23%  libc-2.20.so       [.] _int_free
              32.75%   +0.28%   -0.83%  libc-2.20.so       [.] malloc
               0.01%                    [kernel.kallsyms]  [k] scheduler_tick
                       +0.01%           [kernel.kallsyms]  [k] read_tsc
                       +0.01%           [kernel.kallsyms]  [k] perf_adjust_freq_unthr_context.part.82
      
      In above example, the output was sorted by 'Delta/2' column first, and
      then 'Baseline/0' and finally 'Delta/1'.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1420677949-6719-8-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      566b5cfb
    • N
      perf diff: Fix output ordering to honor next column · 56495a8a
      Namhyung Kim 提交于
      When perf diff prints output, it sorts the entries using baseline field
      by default, but entries which don't have baseline are not sorted
      properly.  This patch makes it sorted by values of next column.
      
      Before:
      
        # Baseline/0  Delta/1  Delta/2  Shared Object      Symbol
        # ..........  .......  .......  .................  ..........................................
        #
              32.75%   +0.28%   -0.83%  libc-2.20.so       [.] malloc
              31.50%   -0.74%   -0.23%  libc-2.20.so       [.] _int_free
              22.98%   +0.51%   +0.52%  libc-2.20.so       [.] _int_malloc
               5.70%   +0.28%   +0.30%  libc-2.20.so       [.] free
               4.38%   -0.21%   +0.25%  a.out              [.] main
               1.32%   -0.15%   +0.05%  a.out              [.] free@plt
               1.31%   +0.03%   -0.06%  a.out              [.] malloc@plt
               0.01%   -0.01%   -0.01%  [kernel.kallsyms]  [k] native_write_msr_safe
               0.01%                    [kernel.kallsyms]  [k] scheduler_tick
               0.01%            -0.00%  [kernel.kallsyms]  [k] native_read_msr_safe
                                +0.01%  [kernel.kallsyms]  [k] _raw_spin_lock_irqsave
                       +0.01%   +0.01%  [kernel.kallsyms]  [k] apic_timer_interrupt
                                +0.01%  [kernel.kallsyms]  [k] intel_pstate_timer_func
                       +0.01%           [kernel.kallsyms]  [k] perf_adjust_freq_unthr_context.part.82
                       +0.01%           [kernel.kallsyms]  [k] read_tsc
                                +0.01%  [kernel.kallsyms]  [k] timekeeping_update.constprop.8
      
      After:
      
        # Baseline/0  Delta/1  Delta/2  Shared Object      Symbol
        # ..........  .......  .......  .................  ..........................................
        #
              32.75%   +0.28%   -0.83%  libc-2.20.so       [.] malloc
              31.50%   -0.74%   -0.23%  libc-2.20.so       [.] _int_free
              22.98%   +0.51%   +0.52%  libc-2.20.so       [.] _int_malloc
               5.70%   +0.28%   +0.30%  libc-2.20.so       [.] free
               4.38%   -0.21%   +0.25%  a.out              [.] main
               1.32%   -0.15%   +0.05%  a.out              [.] free@plt
               1.31%   +0.03%   -0.06%  a.out              [.] malloc@plt
               0.01%   -0.01%   -0.01%  [kernel.kallsyms]  [k] native_write_msr_safe
               0.01%                    [kernel.kallsyms]  [k] scheduler_tick
               0.01%            -0.00%  [kernel.kallsyms]  [k] native_read_msr_safe
                       +0.01%   +0.01%  [kernel.kallsyms]  [k] apic_timer_interrupt
                       +0.01%           [kernel.kallsyms]  [k] read_tsc
                       +0.01%           [kernel.kallsyms]  [k] perf_adjust_freq_unthr_context.part.82
                                +0.01%  [kernel.kallsyms]  [k] intel_pstate_timer_func
                                +0.01%  [kernel.kallsyms]  [k] _raw_spin_lock_irqsave
                                +0.01%  [kernel.kallsyms]  [k] timekeeping_update.constprop.8
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1420677949-6719-7-git-send-email-namhyung@kernel.org
      [ Fixed up hist_entry__cmp_ method signatures, fallout from making previous cset buildable ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      56495a8a
    • N
      perf tools: Pass struct perf_hpp_fmt to its callbacks · 87bbdf76
      Namhyung Kim 提交于
      Currently ->cmp, ->collapse and ->sort callbacks doesn't pass
      corresponding fmt.  But it'll be needed by upcoming changes in
      perf diff command.
      Suggested-by: NJiri Olsa <jolsa@kernel.org>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1420677949-6719-6-git-send-email-namhyung@kernel.org
      [ fix build by passing perf_hpp_fmt pointer to hist_entry__cmp_ methods ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      87bbdf76
    • N
      perf diff: Introduce fmt_to_data_file() helper · ff21cef6
      Namhyung Kim 提交于
      The fmt_to_data_file() is to retrieve struct data__file from
      perf_hpp_fmt which is embedded in diff_hpp_fmt.  It'll be used by sort
      callback functions later.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1420677949-6719-5-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ff21cef6
    • N
      perf diff: Print diff result more precisely · ec3d07cb
      Namhyung Kim 提交于
      Current perf diff result is somewhat confusing since it sometimes hide
      small result and sometimes there's no result.  So do not hide small
      result (less than 0.01%) and print "N/A" if baseline is not
      recorded (for ratio and wdiff only).  Blank means the baseline is
      available but its pairs are not.
      
      Before:
      
        # Baseline    Delta  Shared Object      Symbol
        # ........  .......  .................  .........................
        #
             ...
             0.01%   -0.01%  [kernel.kallsyms]  [k] native_write_msr_safe
             0.01%           [kernel.kallsyms]  [k] scheduler_tick
             0.01%           [kernel.kallsyms]  [k] native_read_msr_safe
             0.00%           [kernel.kallsyms]  [k] __rcu_read_unlock
                             [kernel.kallsyms]  [k] _raw_spin_lock
                     +0.01%  [kernel.kallsyms]  [k] apic_timer_interrupt
                             [kernel.kallsyms]  [k] read_tsc
      
      After:
      
        # Baseline    Delta  Shared Object      Symbol
        # ........  .......  .................  .........................
        #
             ...
             0.01%   -0.01%  [kernel.kallsyms]  [k] native_write_msr_safe
             0.01%           [kernel.kallsyms]  [k] scheduler_tick
             0.01%           [kernel.kallsyms]  [k] native_read_msr_safe
             0.00%           [kernel.kallsyms]  [k] __rcu_read_unlock
                     +0.01%  [kernel.kallsyms]  [k] _raw_spin_lock
                     +0.01%  [kernel.kallsyms]  [k] apic_timer_interrupt
                     +0.01%  [kernel.kallsyms]  [k] read_tsc
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1419656793-32756-3-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ec3d07cb