On Mon, Feb 26, 2024 at 12:25:42AM -0800, isaku.yamahata@xxxxxxxxx wrote: >From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > >Because TDX KVM doesn't support PMU yet (it's future work of TDX KVM >support as another patch series) and pmu_intel.c touches vmx specific >structure in vcpu initialization, as workaround add dummy structure to >struct vcpu_tdx and pmu_intel.c can ignore TDX case. Can we instead factor pmu_intel.c to avoid corrupting memory? how hard would it be? >+bool intel_pmu_lbr_is_enabled(struct kvm_vcpu *vcpu) >+{ >+ struct x86_pmu_lbr *lbr = vcpu_to_lbr_records(vcpu); >+ >+ if (is_td_vcpu(vcpu)) >+ return false; >+ >+ return lbr->nr && (vcpu_get_perf_capabilities(vcpu) & PMU_CAP_LBR_FMT); The check about vcpu's perf capabilities is new. is it necessary? >-static inline bool intel_pmu_lbr_is_enabled(struct kvm_vcpu *vcpu) >-{ >- return !!vcpu_to_lbr_records(vcpu)->nr; >-} >-