perf: Account freq events globally
authorFrederic Weisbecker <fweisbec@gmail.com>
Fri, 2 Aug 2013 16:29:55 +0000 (18:29 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 16 Aug 2013 15:55:51 +0000 (17:55 +0200)
commit948b26b6ddd08a57cb95ebb0dc96fde2edd5c383
tree7b358b7d8ab23ffadd170aba686768a74d7b8b01
parentfc3b86d673e41ac66b4ba5b75a90c2fcafb90089
perf: Account freq events globally

Freq events may not always be affine to a particular CPU. As such,
account_event_cpu() may crash if we account per cpu a freq event
that has event->cpu == -1.

To solve this, lets account freq events globally. In practice
this doesn't change much the picture because perf tools create
per-task perf events with one event per CPU by default. Profiling a
single CPU is usually a corner case so there is no much point in
optimizing things that way.

Reported-by: Jiri Olsa <jolsa@redhat.com>
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Tested-by: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1375460996-16329-3-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/events/core.c