[PATCH V4 0/1] KVM: TDX: Decrease TDX VM shutdown time

From: Adrian Hunter
Date: Wed Jun 11 2025 - 05:52:26 EST


Hi

Changes in V4:

Drop TDX_FLUSHVP_NOT_DONE change. It will be done separately.
Use KVM_BUG_ON() instead of WARN_ON().
Correct kvm_trylock_all_vcpus() return value.

Changes in V3:
Refer:
https://lore.kernel.org/r/aAL4dT1pWG5dDDeo@xxxxxxxxxx

Remove KVM_BUG_ON() from tdx_mmu_release_hkid() because it would
trigger on the error path from __tdx_td_init()

Put cpus_read_lock() handling back into tdx_mmu_release_hkid()

Handle KVM_TDX_TERMINATE_VM in the switch statement, i.e. let
tdx_vm_ioctl() deal with kvm->lock


The version 1 RFC:

https://lore.kernel.org/all/20250313181629.17764-1-adrian.hunter@xxxxxxxxx/

listed 3 options and implemented option 2. Sean replied with code for
option 1, which tested out OK, so here it is plus a commit log.

It depends upon kvm_trylock_all_vcpus(kvm) which is now upstream:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e4a454ced74c0ac97c8bd32f086ee3ad74528780


Sean Christopherson (1):
KVM: TDX: Add sub-ioctl KVM_TDX_TERMINATE_VM

Documentation/virt/kvm/x86/intel-tdx.rst | 16 +++++++++++++++
arch/x86/include/uapi/asm/kvm.h | 1 +
arch/x86/kvm/vmx/tdx.c | 34 ++++++++++++++++++++++++--------
3 files changed, 43 insertions(+), 8 deletions(-)


Regards
Adrian