linux/arch/x86/events/intel
Kan Liang d4b294bf84 perf/x86: Hybrid PMU support for counters
The number of GP and fixed counters are different among hybrid PMUs.
Each hybrid PMU should use its own counter related information.

When handling a certain hybrid PMU, apply the number of counters from
the corresponding hybrid PMU.

When reserving the counters in the initialization of a new event,
reserve all possible counters.

The number of counter recored in the global x86_pmu is for the
architecture counters which are available for all hybrid PMUs. KVM
doesn't support the hybrid PMU yet. Return the number of the
architecture counters for now.

For the functions only available for the old platforms, e.g.,
intel_pmu_drain_pebs_nhm(), nothing is changed.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Link: https://lkml.kernel.org/r/1618237865-33448-7-git-send-email-kan.liang@linux.intel.com
2021-04-19 20:03:25 +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: Hybrid PMU support for counters 2021-04-19 20:03:25 +02:00
cstate.c Merge remote-tracking branch 'origin/master' into perf/core 2020-11-26 13:16:55 +01:00
ds.c perf/x86: Hybrid PMU support for counters 2021-04-19 20:03:25 +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: Track pmu in per-CPU cpu_hw_events 2021-04-19 20:03:24 +02:00
Makefile perf/x86/intel/uncore: Parse uncore discovery tables 2021-04-02 10:04:54 +02:00
p4.c perf/x86: Move cpuc->running into P4 specific code 2021-04-16 16:32:42 +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_discovery.c perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks 2021-04-02 10:04:55 +02:00
uncore_discovery.h perf/x86/intel/uncore: Generic support for the MMIO type of uncore blocks 2021-04-02 10:04:55 +02: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: Store the logical die id instead of the physical die id. 2021-01-14 11:20:13 +01:00
uncore_snbep.c perf/x86/intel/uncore: Enable IIO stacks to PMON mapping for multi-segment SKX 2021-04-02 10:04:55 +02:00
uncore.c perf/x86/intel/uncore: Enable IIO stacks to PMON mapping for multi-segment SKX 2021-04-02 10:04:55 +02:00
uncore.h perf/x86/intel/uncore: Enable IIO stacks to PMON mapping for multi-segment SKX 2021-04-02 10:04:55 +02:00