[0/6] KVM: x86: Clean up "force immediate exit" code

Message ID 20240110012705.506918-1-seanjc@google.com
Headers
Series KVM: x86: Clean up "force immediate exit" code |

Message

Sean Christopherson Jan. 10, 2024, 1:26 a.m. UTC
  Plumb "force_immediate_exit" into the kvm_entry() tracepoint, as
suggested by Maxim, and then follow that up with cleanups that are made
possible by having force_immediate_exit made available to .vcpu_run(),
e.g. VMX can use the on-stack param instead of what is effectively a
temporary field in vcpu_vmx.

Sean Christopherson (6):
  KVM: x86: Plumb "force_immediate_exit" into kvm_entry() tracepoint
  KVM: VMX: Re-enter guest in fastpath for "spurious" preemption timer
    exits
  KVM: VMX: Handle forced exit due to preemption timer in fastpath
  KVM: x86: Move handling of is_guest_mode() into fastpath exit handlers
  KVM: VMX: Handle KVM-induced preemption timer exits in fastpath for L2
  KVM: x86: Fully defer to vendor code to decide how to force immediate
    exit

 arch/x86/include/asm/kvm-x86-ops.h |  1 -
 arch/x86/include/asm/kvm_host.h    |  6 +--
 arch/x86/kvm/svm/svm.c             | 18 ++++---
 arch/x86/kvm/trace.h               |  9 ++--
 arch/x86/kvm/vmx/vmx.c             | 80 +++++++++++++++++++-----------
 arch/x86/kvm/vmx/vmx.h             |  2 -
 arch/x86/kvm/x86.c                 | 12 +----
 7 files changed, 72 insertions(+), 56 deletions(-)


base-commit: 1c6d984f523f67ecfad1083bb04c55d91977bb15
  

Comments

Sean Christopherson Feb. 23, 2024, 1:35 a.m. UTC | #1
On Tue, 09 Jan 2024 17:26:59 -0800, Sean Christopherson wrote:
> Plumb "force_immediate_exit" into the kvm_entry() tracepoint, as
> suggested by Maxim, and then follow that up with cleanups that are made
> possible by having force_immediate_exit made available to .vcpu_run(),
> e.g. VMX can use the on-stack param instead of what is effectively a
> temporary field in vcpu_vmx.
> 
> Sean Christopherson (6):
>   KVM: x86: Plumb "force_immediate_exit" into kvm_entry() tracepoint
>   KVM: VMX: Re-enter guest in fastpath for "spurious" preemption timer
>     exits
>   KVM: VMX: Handle forced exit due to preemption timer in fastpath
>   KVM: x86: Move handling of is_guest_mode() into fastpath exit handlers
>   KVM: VMX: Handle KVM-induced preemption timer exits in fastpath for L2
>   KVM: x86: Fully defer to vendor code to decide how to force immediate
>     exit
> 
> [...]

Applied to kvm-x86 misc, thanks!

[1/6] KVM: x86: Plumb "force_immediate_exit" into kvm_entry() tracepoint
      https://github.com/kvm-x86/linux/commit/9c9025ea003a
[2/6] KVM: VMX: Re-enter guest in fastpath for "spurious" preemption timer exits
      https://github.com/kvm-x86/linux/commit/e6b5d16bbd2d
[3/6] KVM: VMX: Handle forced exit due to preemption timer in fastpath
      https://github.com/kvm-x86/linux/commit/11776aa0cfa7
[4/6] KVM: x86: Move handling of is_guest_mode() into fastpath exit handlers
      https://github.com/kvm-x86/linux/commit/bf1a49436ea3
[5/6] KVM: VMX: Handle KVM-induced preemption timer exits in fastpath for L2
      https://github.com/kvm-x86/linux/commit/7b3d1bbf8d68
[6/6] KVM: x86: Fully defer to vendor code to decide how to force immediate exit
      https://github.com/kvm-x86/linux/commit/0ec3d6d1f169

--
https://github.com/kvm-x86/linux/tree/next