How about introducing a static "struct x86_pmu_capability" variable [1] so that we can
(1) setup num_counters_fixed just once in the kvm_init_pmu_capability(), and
(2) avoid repeated calls to perf_get_x86_pmu_capability() ;
[1] https://lore.kernel.org/kvm/20210806133802.3528-17-lingshan.zhu@xxxxxxxxx/
By the way, do you need a re-based version of the guest PBES feature ?