1. 18 12月, 2015 13 次提交
  2. 10 12月, 2015 1 次提交
    • M
      perf stat: Fix cmd_stat to release cpu_map · 544c2ae7
      Masami Hiramatsu 提交于
      Fix cmd_stat() to release cpu_map objects (aggr_map and
      cpus_aggr_map) afterwards.
      
      refcnt debugger shows that the cmd_stat initializes cpu_map
      but not puts it.
        ----
        # ./perf stat -v ls
        ....
        REFCNT: BUG: Unreclaimed objects found.
        ==== [0] ====
        Unreclaimed cpu_map@0x29339c0
        Refcount +1 => 1 at
          ./perf(cpu_map__empty_new+0x6d) [0x4e64bd]
          ./perf(cmd_stat+0x5fe) [0x43594e]
          ./perf() [0x47b785]
          ./perf(main+0x617) [0x422587]
          /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f2dff420af5]
          ./perf() [0x4226fd]
        REFCNT: Total 1 objects are not reclaimed.
          "cpu_map" leaks 1 objects
        ----
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/20151209021127.10245.93697.stgit@localhost.localdomain
      [ Remove NULL checks before calling the put operation, it checks it already ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      544c2ae7
  3. 08 12月, 2015 4 次提交
  4. 27 11月, 2015 1 次提交
  5. 06 11月, 2015 1 次提交
  6. 05 11月, 2015 2 次提交
  7. 28 10月, 2015 1 次提交
  8. 20 10月, 2015 3 次提交
  9. 03 10月, 2015 1 次提交
    • K
      perf stat: Reduce min --interval-print to 10ms · 19afd104
      Kan Liang 提交于
      The --interval-print parameter was limited to 100ms. However, for
      example, 10ms is required to do sophisticated bandwidth analysis using
      uncore events.
      
      The test shows that the overhead of the system-wide uncore monitoring
      with 10ms interval is only ~2%. So this patch reduces the minimal
      interval-print allowd to 10ms.
      
      But 10ms may not work well for all cases. For example, when the
      cpus/threads number is very large, for system-wide core event monitoring
      the overhead could be high.
      
      To handle this issue, a warning will be displayed when the
      interval-print is set between 10ms to 100ms. So users can make a
      decision according to their specific cases.
      
       # perf stat -e uncore_imc_1/cas_count_read/ -a --interval-print 10 -- sleep 1
      
       print interval < 100ms. The overhead percentage could be high in some
       cases. Please proceed with caution.
       #           time             counts unit events
            0.010200451               0.10 MiB  uncore_imc_1/cas_count_read/
            0.020475117               0.02 MiB  uncore_imc_1/cas_count_read/
            0.030692800               0.01 MiB  uncore_imc_1/cas_count_read/
            0.040948161               0.02 MiB  uncore_imc_1/cas_count_read/
            0.051159564               0.00 MiB  uncore_imc_1/cas_count_read/
      Signed-off-by: NKan Liang <kan.liang@intel.com>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1443776674-42511-1-git-send-email-kan.liang@intel.com
      [ Added warning about overhead when using sub 100ms intervals to the man page ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      19afd104
  10. 03 9月, 2015 1 次提交
  11. 28 8月, 2015 1 次提交
    • K
      perf stat: Get correct cpu id for print_aggr · 601083cf
      Kan Liang 提交于
      print_aggr() fails to print per-core/per-socket statistics after commit
      582ec082 ("perf stat: Fix per-socket output bug for uncore events")
      if events have differnt cpus. Because in print_aggr(), aggr_get_id needs
      index (not cpu id) to find core/pkg id. Also, evsel cpu maps should be
      used to get aggregated id.
      
      Here is an example:
      
      Counting events cycles,uncore_imc_0/cas_count_read/. (Uncore event has
      cpumask 0,18)
      
        $ perf stat -e cycles,uncore_imc_0/cas_count_read/ -C0,18 --per-core sleep 2
      
      Without this patch, it failes to get CPU 18 result.
      
         Performance counter stats for 'CPU(s) 0,18':
      
        S0-C0           1            7526851      cycles
        S0-C0           1               1.05 MiB  uncore_imc_0/cas_count_read/
        S1-C0           0      <not counted>      cycles
        S1-C0           0      <not counted> MiB  uncore_imc_0/cas_count_read/
      
      With this patch, it can get both CPU0 and CPU18 result.
      
         Performance counter stats for 'CPU(s) 0,18':
      
        S0-C0           1            6327768      cycles
        S0-C0           1               0.47 MiB  uncore_imc_0/cas_count_read/
        S1-C0           1             330228      cycles
        S1-C0           1               0.29 MiB  uncore_imc_0/cas_count_read/
      Signed-off-by: NKan Liang <kan.liang@intel.com>
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Acked-by: NStephane Eranian <eranian@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Fixes: 582ec082 ("perf stat: Fix per-socket output bug for uncore events")
      Link: http://lkml.kernel.org/r/1435820925-51091-1-git-send-email-kan.liang@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      601083cf
  12. 09 8月, 2015 1 次提交
  13. 07 8月, 2015 6 次提交
  14. 08 7月, 2015 1 次提交
  15. 26 6月, 2015 3 次提交