From: Kan Liang <kan.li...@linux.intel.com>

Apply the PERF_PMU_CAP_MEDIATED_VPMU for Intel core PMU. It only
indicates that the perf side of core PMU is ready to support the
passthrough vPMU.  Besides the capability, the hypervisor should still need
to check the PMU version and other capabilities to decide whether to enable
the mediated vPMU.

Signed-off-by: Kan Liang <kan.li...@linux.intel.com>
Signed-off-by: Mingwei Zhang <mizh...@google.com>
---
 arch/x86/events/intel/core.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index e86333eee266..ab74fdfa6a66 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -4943,6 +4943,8 @@ static void intel_pmu_check_hybrid_pmus(struct 
x86_hybrid_pmu *pmu)
        else
                pmu->intel_ctrl &= ~(1ULL << GLOBAL_CTRL_EN_PERF_METRICS);
 
+       pmu->pmu.capabilities |= PERF_PMU_CAP_MEDIATED_VPMU;
+
        intel_pmu_check_event_constraints(pmu->event_constraints,
                                          pmu->cntr_mask64,
                                          pmu->fixed_cntr_mask64,
@@ -6535,6 +6537,9 @@ __init int intel_pmu_init(void)
                        pr_cont(" AnyThread deprecated, ");
        }
 
+       /* The perf side of core PMU is ready to support the mediated vPMU. */
+       x86_get_pmu(smp_processor_id())->capabilities |= 
PERF_PMU_CAP_MEDIATED_VPMU;
+
        /*
         * Install the hw-cache-events table:
         */
-- 
2.49.0.395.g12beb8f557-goog


Reply via email to