summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorStephane Eranian <eranian@google.com>2015-09-03 16:23:40 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-09-17 00:01:03 +0300
commit02d8dabc50f94353075f2f62b1047c1306e8bf92 (patch)
tree32a17c8f2428f4dccb5b66caaf07fa122c8a556c /scripts
parentf6cf87f748ff9480f97ff9c5caf6d6faacf52aa1 (diff)
downloadlinux-02d8dabc50f94353075f2f62b1047c1306e8bf92.tar.xz
perf stat: Fix per-pkg event reporting bug
Per-pkg events need to be captured once per processor socket. The code in check_per_pkg() ensures only one value per processor package is used. However there is a problem with this function in case the first CPU of the package does not measure anything for the per-pkg event, but other CPUs do. Consider the following: $ create cgroup FOO; echo $$ >FOO/tasks; taskset -c 1 noploop & $ perf stat -a -I 1000 -e intel_cqm/llc_occupancy/ -G FOO sleep 100 1.00000 <not counted> Bytes intel_cqm/llc_occupancy/ FOO The reason for this is that CPU0 in the cgroup has nothing running on it. Yet check_per_plg() will mark socket0 as processed and no other event value will be considered for the socket. This patch fixes the problem by having check_per_pkg() only consider events which actually ran. Signed-off-by: Stephane 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: Jiri Olsa <jolsa@redhat.com> Cc: Kan Liang <kan.liang@intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1441286620-10117-1-git-send-email-eranian@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions