OSDN Git Service

KVM: x86/mmu: Avoid retpoline on ->page_fault() with TDP
authorSean Christopherson <sean.j.christopherson@intel.com>
Thu, 6 Feb 2020 22:14:34 +0000 (14:14 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 12 Feb 2020 19:09:42 +0000 (20:09 +0100)
commit7a02674d154d38da33517855b6d1d4cfc27a9a04
tree7b0b88516d18701b891c089c34870d5558214fdf
parent331ca0f89fc206f06b341f7fe037d7d8662b1b9f
KVM: x86/mmu: Avoid retpoline on ->page_fault() with TDP

Wrap calls to ->page_fault() with a small shim to directly invoke the
TDP fault handler when the kernel is using retpolines and TDP is being
used.  Single out the TDP fault handler and annotate the TDP path as
likely to coerce the compiler into preferring it over the indirect
function call.

Rename tdp_page_fault() to kvm_tdp_page_fault(), as it's exposed outside
of mmu.c to allow inlining the shim.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu.h
arch/x86/kvm/mmu/mmu.c
arch/x86/kvm/x86.c