perf, x86: Fix BTS condition
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Tue, 26 Apr 2011 11:24:33 +0000 (13:24 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 26 Apr 2011 11:34:34 +0000 (13:34 +0200)
commit18a073a3acd3a47fbb5e23333df7fad28d576345
tree7b961ab5fd0f98a2348e4eaa419838040d7f8034
parentcd2e49e90f1cae7726c9a2c54488d881d7f1cd1c
perf, x86: Fix BTS condition

Currently the x86 backend incorrectly assumes that any BRANCH_INSN
with sample_period==1 is a BTS request. This is not true when we do
frequency driven profiling such as 'perf record -e branches'.

Solves this error:

  $ perf record -e branches ./array
  Error: sys_perf_event_open() syscall returned with 95 (Operation not supported).

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Reported-by: Ingo Molnar <mingo@elte.hu>
Cc: "Metzger, Markus T" <markus.t.metzger@intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Link: http://lkml.kernel.org/n/tip-rd2y4ct71hjawzz6fpvsy9hg@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/perf_event.c
arch/x86/kernel/cpu/perf_event_intel.c