linux/arch/x86/kvm/mmu
Jason Baron b3646477d4 KVM: x86: use static calls to reduce kvm_x86_ops overhead
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: Jason Baron <jbaron@akamai.com>
Message-Id: <e057bf1b8a7ad15652df6eeba3f907ae758d3399.1610680941.git.jbaron@akamai.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-04 05:27:30 -05:00
..
mmu_audit.c KVM: Stop using deprecated jump label APIs 2021-02-04 05:27:29 -05:00
mmu_internal.h kvm: x86/mmu: NX largepage recovery for TDP MMU 2020-10-23 03:42:16 -04:00
mmu.c KVM: x86: use static calls to reduce kvm_x86_ops overhead 2021-02-04 05:27:30 -05:00
mmutrace.h kvm: x86/mmu: Add TDP MMU SPTE changed trace point 2020-11-19 10:57:16 -05:00
page_track.c kvm: mmu: page_track: Fix RCU list API usage 2020-08-24 18:36:23 -07:00
paging_tmpl.h kvm: x86/mmu: Remove disallowed_hugepage_adjust shadow_walk_iterator arg 2020-10-21 18:17:02 -04:00
spte.c KVM: x86: use static calls to reduce kvm_x86_ops overhead 2021-02-04 05:27:30 -05:00
spte.h KVM: x86/mmu: Use boolean returns for (S)PTE accessors 2021-02-04 05:27:15 -05:00
tdp_iter.c kvm: x86/mmu: Support zapping SPTEs in the TDP MMU 2020-10-21 18:17:02 -04:00
tdp_iter.h kvm: x86/mmu: Support dirty logging for the TDP MMU 2020-10-23 03:42:13 -04:00
tdp_mmu.c KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs 2021-02-04 04:38:53 -05:00
tdp_mmu.h KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE 2021-01-07 18:00:24 -05:00