linux/arch/x86/events/intel
Alexander Shishkin 42880f726c perf/x86/intel: Support PEBS output to PT
If PEBS declares ability to output its data to Intel PT stream, use the
aux_output attribute bit to enable PEBS data output to PT. This requires
a PT event to be present and scheduled in the same context. Unlike the
DS area, the kernel does not extract PEBS records from the PT stream to
generate corresponding records in the perf stream, because that would
require real time in-kernel PT decoding, which is not feasible. The PMI,
however, can still be used.

The output setting is per-CPU, so all PEBS events must be either writing
to PT or to the DS area, therefore, in case of conflict, the conflicting
event will fail to schedule, allowing the rotation logic to alternate
between the PEBS->PT and PEBS->DS events.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: kan.liang@linux.intel.com
Link: https://lkml.kernel.org/r/20190806084606.4021-3-alexander.shishkin@linux.intel.com
2019-08-28 11:29:39 +02:00
..
bts.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
core.c perf/x86/intel: Support PEBS output to PT 2019-08-28 11:29:39 +02:00
cstate.c perf/x86/cstate: Use new probe function 2019-06-24 19:28:33 +02:00
ds.c perf/x86/intel: Support PEBS output to PT 2019-08-28 11:29:39 +02:00
knc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
lbr.c perf/x86/lbr: Avoid reading the LBRs when adaptive PEBS handles them 2019-04-16 12:26:17 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
p4.c x86: Fix various typos in comments 2018-12-03 10:49:13 +01:00
p6.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
pt.c perf/x86/intel: Support PEBS output to PT 2019-08-28 11:29:39 +02:00
pt.h perf/x86/intel/pt: Get rid of reverse lookup table for ToPA 2019-08-26 12:00:16 +02:00
rapl.c Merge branch 'x86-topology-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-07-08 18:28:44 -07:00
uncore_nhmex.c perf/x86/intel/uncore: Correct fixed counter index check for NHM 2018-05-31 12:36:28 +02:00
uncore_snb.c perf/x86/intel/uncore: Clean up client IMC 2019-06-17 12:36:21 +02:00
uncore_snbep.c perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge 2019-06-17 12:36:22 +02:00
uncore.c Merge branch 'x86-topology-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-07-08 18:28:44 -07:00
uncore.h perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge 2019-06-17 12:36:22 +02:00