• V
    x86/kvm/hyper-v: direct mode for synthetic timers · 8644f771
    Vitaly Kuznetsov 提交于
    Turns out Hyper-V on KVM (as of 2016) will only use synthetic timers
    if direct mode is available. With direct mode we notify the guest by
    asserting APIC irq instead of sending a SynIC message.
    
    The implementation uses existing vec_bitmap for letting lapic code
    know that we're interested in the particular IRQ's EOI request. We assume
    that the same APIC irq won't be used by the guest for both direct mode
    stimer and as sint source (especially with AutoEOI semantics). It is
    unclear how things should be handled if that's not true.
    
    Direct mode is also somewhat less expensive; in my testing
    stimer_send_msg() takes not less than 1500 cpu cycles and
    stimer_notify_direct() can usually be done in 300-400. WS2016 without
    Hyper-V, however, always sticks to non-direct version.
    Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
    Reviewed-by: NRoman Kagan <rkagan@virtuozzo.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    8644f771
trace.h 35.2 KB