• Jason Baron's avatar
    KVM: x86: use static calls to reduce kvm_x86_ops overhead · b3646477
    Jason Baron authored
    Convert kvm_x86_ops to use static calls. Note that all kvm_x86_ops are
    covered here except for 'pmu_ops and 'nested ops'.
    
    Here are some numbers running cpuid in a loop of 1 million calls averaged
    over 5 runs, measured in the vm (lower is better).
    
    Intel Xeon 3000MHz:
    
               |default    |mitigations=off
    -------------------------------------
    vanilla    |.671s      |.486s
    static call|.573s(-15%)|.458s(-6%)
    
    AMD EPYC 2500MHz:
    
               |default    |mitigations=off
    -------------------------------------
    vanilla    |.710s      |.609s
    static call|.664s(-6%) |.609s(0%)
    
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Sean Christopherson <seanjc@google.com>
    Signed-off-by: default avatarJason Baron <jbaron@akamai.com>
    Message-Id: <e057bf1b8a7ad15652df6eeba3f907ae758d3399.1610680941.git.jbaron@akamai.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    b3646477
spte.c 9.07 KB