• Wanpeng Li's avatar
    KVM: X86: Reduce the overhead when lapic_timer_advance is disabled · 9c48d517
    Wanpeng Li authored
    When I run ebizzy in a 32 vCPUs guest on a 32 pCPUs Xeon box, I can observe
    ~8000 kvm_wait_lapic_expire CurAvg/s through kvm_stat tool even if the advance
    tscdeadline hrtimer expiration is disabled. Each call to wait_lapic_expire()
    will consume ~70 cycles when a timer fires since apic_timer_expire() will
    set expired_tscdeadline and then wait_lapic_expire() will do some caculation
    before bailing out. So total ~175us per second is lost on this 3.2Ghz machine.
    This patch reduces the overhead by skipping the function wait_lapic_expire()
    when lapic_timer_advance is disabled.
    
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Signed-off-by: default avatarWanpeng Li <wanpeng.li@hotmail.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    9c48d517
x86.c 228 KB