KVM: VMX: Handle forced exit due to preemption timer in fastpath
authorSean Christopherson <seanjc@google.com>
Wed, 10 Jan 2024 01:27:02 +0000 (17:27 -0800)
committerSean Christopherson <seanjc@google.com>
Fri, 23 Feb 2024 00:22:36 +0000 (16:22 -0800)
commit11776aa0cfa7d007ad1799b1553bdcbd830e5010
treeb19b1c2e99f94cfbe5a4d176899f57d622bef6f0
parente6b5d16bbd2d4c8259ad76aa33de80d561aba5f9
KVM: VMX: Handle forced exit due to preemption timer in fastpath

Handle VMX preemption timer VM-Exits due to KVM forcing an exit in the
exit fastpath, i.e. avoid calling back into handle_preemption_timer() for
the same exit.  There is no work to be done for forced exits, as the name
suggests the goal is purely to get control back in KVM.

In addition to shaving a few cycles, this will allow cleanly separating
handle_fastpath_preemption_timer() from handle_preemption_timer(), e.g.
it's not immediately obvious why _apparently_ calling
handle_fastpath_preemption_timer() twice on a "slow" exit is necessary:
the "slow" call is necessary to handle exits from L2, which are excluded
from the fastpath by vmx_vcpu_run().

Link: https://lore.kernel.org/r/20240110012705.506918-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/vmx.c