linux/arch/x86/events/intel
Kan Liang 59a854e2f3 perf/x86/intel: Support TopDown metrics on Ice Lake
Ice Lake supports the hardware TopDown metrics feature, which can free
up the scarce GP counters.

Update the event constraints for the metrics events. The metric counters
do not exist, which are mapped to a dummy offset. The sharing between
multiple users of the same metric without multiplexing is not allowed.

Implement set_topdown_event_period for Ice Lake. The values in
PERF_METRICS MSR are derived from the fixed counter 3. Both registers
should start from zero.

Implement update_topdown_event for Ice Lake. The metric is reported by
multiplying the metric (fraction) with slots. To maintain accurate
measurements, both registers are cleared for each update. The fixed
counter 3 should always be cleared before the PERF_METRICS.

Implement td_attr for the new metrics events and the new slots fixed
counter. Make them visible to the perf user tools.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200723171117.9918-11-kan.liang@linux.intel.com
2020-08-18 16:34:37 +02:00
..
bts.c perf/x86: Replace zero-length array with flexible-array 2020-05-19 20:34:16 +02:00
core.c perf/x86/intel: Support TopDown metrics on Ice Lake 2020-08-18 16:34:37 +02:00
cstate.c perf/x86/cstate: Add Jasper Lake CPU support 2020-04-22 21:43:12 +02:00
ds.c perf/x86/intel/lbr: Unify the stored format of LBR information 2020-07-08 11:38:53 +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/intel/lbr: Support XSAVES for arch LBR read 2020-07-08 11:38:57 +02:00
Makefile perf/x86/rapl: Move RAPL support to common x86 code 2020-05-28 07:58:55 +02:00
p4.c perf_event: Add support for LSM and SELinux checks 2019-10-17 21:31:55 +02: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/pt: Drop pointless NULL assignment. 2020-04-30 20:14:36 +02:00
pt.h perf/x86/intel/pt: Prevent redundant WRMSRs 2019-11-13 11:06:18 +01: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: Record the size of mapped area 2020-06-15 14:09:50 +02:00
uncore_snbep.c perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping 2020-06-15 14:09:51 +02:00
uncore.c perf/x86/intel/uncore: Wrap the max dies calculation into an accessor 2020-06-15 14:09:51 +02:00
uncore.h perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping 2020-06-15 14:09:51 +02:00