Skip to content
  • Gleb Natapov's avatar
    KVM: ensure async PF event wakes up vcpu from halt · a4fa1635
    Gleb Natapov authored
    
    
    If vcpu executes hlt instruction while async PF is waiting to be delivered
    vcpu can block and deliver async PF only after another even wakes it
    up. This happens because kvm_check_async_pf_completion() will remove
    completion event from vcpu->async_pf.done before entering kvm_vcpu_block()
    and this will make kvm_arch_vcpu_runnable() return false. The solution
    is to make vcpu runnable when processing completion.
    
    Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    a4fa1635