• M
    KVM: Fix race between timer migration and vcpu migration · d4acf7e7
    Marcelo Tosatti 提交于
    A guest vcpu instance can be scheduled to a different physical CPU
    between the test for KVM_REQ_MIGRATE_TIMER and local_irq_disable().
    
    If that happens, the timer will only be migrated to the current pCPU on
    the next exit, meaning that guest LAPIC timer event can be delayed until
    a host interrupt is triggered.
    
    Fix it by cancelling guest entry if any vcpu request is pending.  This
    has the side effect of nicely consolidating vcpu->requests checks.
    Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: NAvi Kivity <avi@qumranet.com>
    d4acf7e7
x86.c 94.5 KB