]> Git Repo - J-linux.git/commitdiff
Merge branch 'kvm-redo-enable-virt' into HEAD
authorPaolo Bonzini <[email protected]>
Thu, 12 Sep 2024 15:13:05 +0000 (11:13 -0400)
committerPaolo Bonzini <[email protected]>
Tue, 17 Sep 2024 15:38:20 +0000 (11:38 -0400)
Register KVM's cpuhp and syscore callbacks when enabling virtualization in
hardware, as the sole purpose of said callbacks is to disable and re-enable
virtualization as needed.

The primary motivation for this series is to simplify dealing with enabling
virtualization for Intel's TDX, which needs to enable virtualization
when kvm-intel.ko is loaded, i.e. long before the first VM is created.

That said, this is a nice cleanup on its own.  By registering the callbacks
on-demand, the callbacks themselves don't need to check kvm_usage_count,
because their very existence implies a non-zero count.

Patch 1 (re)adds a dedicated lock for kvm_usage_count.  This avoids a
lock ordering issue between cpus_read_lock() and kvm_lock.  The lock
ordering issue still exist in very rare cases, and will be fixed for
good by switching vm_list to an (S)RCU-protected list.

Signed-off-by: Paolo Bonzini <[email protected]>
1  2 
arch/arm64/kvm/arm.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/x86.c
include/linux/kvm_host.h

Simple merge
Simple merge
Simple merge
Simple merge
This page took 0.137719 seconds and 4 git commands to generate.