You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
KVM: x86: do not execute halted vcpus
Offline or uninitialized vcpu's can be executed if requested to perform userspace work. Follow Avi's suggestion to handle halted vcpu's in the main loop, simplifying kvm_emulate_halt(). Introduce a new vcpu->requests bit to indicate events that promote state from halted to running. Also standardize vcpu wake sites. Signed-off-by: Marcelo Tosatti <mtosatti <at> redhat.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
committed by
Avi Kivity
parent
a6a3034cb9
commit
d76901750a
+5
-5
@@ -980,12 +980,12 @@ void kvm_vcpu_block(struct kvm_vcpu *vcpu)
|
||||
for (;;) {
|
||||
prepare_to_wait(&vcpu->wq, &wait, TASK_INTERRUPTIBLE);
|
||||
|
||||
if (kvm_cpu_has_interrupt(vcpu))
|
||||
break;
|
||||
if (kvm_cpu_has_pending_timer(vcpu))
|
||||
break;
|
||||
if (kvm_arch_vcpu_runnable(vcpu))
|
||||
if (kvm_cpu_has_interrupt(vcpu) ||
|
||||
kvm_cpu_has_pending_timer(vcpu) ||
|
||||
kvm_arch_vcpu_runnable(vcpu)) {
|
||||
set_bit(KVM_REQ_UNHALT, &vcpu->requests);
|
||||
break;
|
||||
}
|
||||
if (signal_pending(current))
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user