Re: [PATCH V2 3/5] KVM: x86/vPMU: Create vPMU interface for VMX and SVM

Wei Huang
2015-04-20T18:33:17Z

<snip>
>> +/* check if msr_idx is a valid index to access PMU */
>> +inline int kvm_pmu_check_msr_idx(struct kvm_vcpu *vcpu, unsigned msr_idx)
>
> If we really want it inline, it's better done in header.
> (I think GCC would inline this in-module anyway, but other modules still
> have to call it.)
>
>> +{
>> + return kvm_pmu_ops->check_msr_idx(vcpu, msr_idx);
>> +}
>> +
> | [...]
>> +bool kvm_pmu_is_msr(struct kvm_vcpu *vcpu, u32 msr)
>
> (Might make sense to inline these trivial wrappers.)
Hi Radim,

I forgot to mention that I didn't create inline for these functions in
V3. For an inline to work on across source files, I have to explicitly
use "extern"; so I decided not to touch it in V3 yet. If you insist, I
will change it.

Another solution is to replace the functions with
kvm_opmu_ops->blah_blah(). But this looks less appealing to me.

Thanks,
-Wei

>
>> +{
>> + return kvm_pmu_ops->is_pmu_msr(vcpu, msr);
>> +}
>> +
>> +int kvm_pmu_get_msr(struct kvm_vcpu *vcpu, u32 msr, u64 *data)
>> +{
>> + return kvm_pmu_ops->get_msr(vcpu, msr, data);
>> +}
>> +
>> +int kvm_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
>> +{
>> + return kvm_pmu_ops->set_msr(vcpu, msr_info);
>> +
>
<snip>