On 30/3/2022 7:50 am, Sean Christopherson wrote:
> This is a minor iteration on Like's v3 to allow kvm_pmu_ops (the global
> variable, not the struct) be static. I ran the PMU unit tests and compiled,
> but otherwise it's untested. Strongly recommend waiting for Like to give
> a thumbs up before applying :-)
Uh, thank you for picking up this optimization and it passes my test cases.
>
> [*] https://lore.kernel.org/all/20220307115920.51099-1-likexu@tencent.com
>
> Like Xu (4):
> KVM: x86: Move kvm_ops_static_call_update() to x86.c
> KVM: x86: Copy kvm_pmu_ops by value to eliminate layer of indirection
> KVM: x86: Move .pmu_ops to kvm_x86_init_ops and tag as __initdata
> KVM: x86: Use static calls to reduce kvm_pmu_ops overhead
>
> arch/x86/include/asm/kvm-x86-pmu-ops.h | 31 ++++++++++++
> arch/x86/include/asm/kvm_host.h | 17 +------
> arch/x86/kvm/pmu.c | 66 ++++++++++++++++++--------
> arch/x86/kvm/pmu.h | 7 +--
> arch/x86/kvm/svm/pmu.c | 2 +-
> arch/x86/kvm/svm/svm.c | 2 +-
> arch/x86/kvm/vmx/pmu_intel.c | 2 +-
> arch/x86/kvm/vmx/vmx.c | 2 +-
> arch/x86/kvm/x86.c | 21 +++++++-
> 9 files changed, 102 insertions(+), 48 deletions(-)
> create mode 100644 arch/x86/include/asm/kvm-x86-pmu-ops.h
>
>
> base-commit: 19164ad08bf668bca4f4bfbaacaa0a47c1b737a6