perf/x86/intel: Add Haswell PEBS record support
authorAndi Kleen <ak@linux.intel.com>
Tue, 18 Jun 2013 00:36:47 +0000 (17:36 -0700)
committerIngo Molnar <mingo@kernel.org>
Wed, 19 Jun 2013 12:43:32 +0000 (14:43 +0200)
commit130768b8c93cd8d21390a136ec8cef417153ca14
tree01900496205e221dd6ad855352e3b1df6d6be1c6
parentb2fa344d0c275ea4436bfc3a97708f2c938ac0eb
perf/x86/intel: Add Haswell PEBS record support

Add support for the Haswell extended (fmt2) PEBS format.

It has a superset of the nhm (fmt1) PEBS fields, but has a
longer record so we need to adjust the code paths.

The main advantage is the new "EventingRip" support which
directly gives the instruction, not off-by-one instruction. So
with precise == 2 we use that directly and don't try to use LBRs
and walking basic blocks. This lowers the overhead of using
precise significantly.

Some other features are added in later patches.

Reviewed-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Andi Kleen <ak@linux.jf.intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: http://lkml.kernel.org/r/1371515812-9646-2-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/cpu/perf_event.c
arch/x86/kernel/cpu/perf_event_intel_ds.c