linux/arch
Rick Edgecombe 35be969d1e KVM: x86/mmu: Zap invalid roots with mmu_lock holding for write at uninit
Prepare for a future TDX patch which asserts that atomic zapping
(i.e. zapping with mmu_lock taken for read) don't operate on mirror roots.
When tearing down a VM, all roots have to be zapped (including mirror
roots once they're in place) so do that with the mmu_lock taken for write.

kvm_mmu_uninit_tdp_mmu() is invoked either before or after executing any
atomic operations on SPTEs by vCPU threads. Therefore, it will not impact
vCPU threads performance if kvm_tdp_mmu_zap_invalidated_roots() acquires
mmu_lock for write to zap invalid roots.

Co-developed-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Message-ID: <20240718211230.1492011-2-rick.p.edgecombe@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-23 08:28:49 -05:00
..
alpha Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
arc ARC: build: Try to guess GCC variant of cross compiler 2024-12-13 14:39:24 -08:00
arm Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
arm64 KVM selftests "tree"-wide changes for 6.14: 2024-12-19 07:50:06 -05:00
csky - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
hexagon - The series "resource: A couple of cleanups" from Andy Shevchenko 2024-11-25 16:09:48 -08:00
loongarch LoongArch: KVM: Protect kvm_io_bus_{read,write}() with SRCU 2024-12-03 19:49:28 +08:00
m68k RTC for 6.13 2024-11-30 11:18:16 -08:00
microblaze - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
mips Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
nios2 - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
openrisc openrisc: Fix misalignments in head.S 2024-12-10 12:04:19 +00:00
parisc parisc architecture fixes for kernel v6.13-rc1: 2024-11-26 14:49:20 -08:00
powerpc module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
riscv KVM selftests "tree"-wide changes for 6.14: 2024-12-19 07:50:06 -05:00
s390 module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
sh Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
sparc Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
um Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
x86 KVM: x86/mmu: Zap invalid roots with mmu_lock holding for write at uninit 2024-12-23 08:28:49 -05:00
xtensa - The series "resource: A couple of cleanups" from Andy Shevchenko 2024-11-25 16:09:48 -08:00
.gitignore
Kconfig Kbuild updates for v6.13 2024-11-30 13:41:50 -08:00