• G
    timer: set vm_clock disabled default · 3fdd0ee3
    Gonglei 提交于
    (commit 80dcfb85)
    Upon migration, the code use a timer based on vm_clock for 1ns
    in the future from post_load to do the event send in case host_connected
    differs between migration source and target.
    
    However, it's not guaranteed that the apic is ready to inject irqs into
    the guest, and the irq line remained high, resulting in any future interrupts
    going unnoticed by the guest as well.
    
    That's because 1) the migration coroutine is not blocked when it get EAGAIN
    while reading QEMUFile. 2) The vm_clock is enabled default currently, it doesn't
    rely on the calling of vm_start(), that means vm_clock timers can run before
    VCPUs are running.
    
    So, let's set the vm_clock disabled default, keep the initial intention of
    design for vm_clock timers.
    
    Meanwhile, change the test-aio usecase, using QEMU_CLOCK_REALTIME instead of
    QEMU_CLOCK_VIRTUAL as the block code does.
    
    CC: Paolo Bonzini <pbonzini@redhat.com>
    CC: Dr. David Alan Gilbert <dgilbert@redhat.com>
    CC: qemu-stable@nongnu.org
    Signed-off-by: NGonglei <arei.gonglei@huawei.com>
    Message-Id: <1470728955-90600-1-git-send-email-arei.gonglei@huawei.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    3fdd0ee3
test-aio.c 25.3 KB