lkml.org 
[lkml]   [2021]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH 4/4] KVM: VMX: Register posted interrupt wakeup handler iff APICv is enabled
    From
    Don't bother registering a posted interrupt wakeup handler if APICv is
    disabled, KVM utilizes the wakeup vector if and only if APICv is enabled.
    Practically speaking, there's no meaningful functional change as KVM's
    wakeup handler is a glorified nop if there are no vCPUs using posted
    interrupts, not to mention that nothing in the system should be sending
    wakeup interrupts when APICv is disabled.

    Signed-off-by: Sean Christopherson <seanjc@google.com>
    ---
    arch/x86/kvm/vmx/vmx.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
    index 9164f1870d49..df9ad4675215 100644
    --- a/arch/x86/kvm/vmx/vmx.c
    +++ b/arch/x86/kvm/vmx/vmx.c
    @@ -7553,7 +7553,8 @@ static void vmx_migrate_timers(struct kvm_vcpu *vcpu)

    static void hardware_unsetup(void)
    {
    - kvm_unregister_posted_intr_wakeup_handler(pi_wakeup_handler);
    + if (enable_apicv)
    + kvm_unregister_posted_intr_wakeup_handler(pi_wakeup_handler);

    if (nested)
    nested_vmx_hardware_unsetup();
    @@ -7907,7 +7908,8 @@ static __init int hardware_setup(void)
    if (r)
    nested_vmx_hardware_unsetup();

    - kvm_register_posted_intr_wakeup_handler(pi_wakeup_handler);
    + if (enable_apicv)
    + kvm_register_posted_intr_wakeup_handler(pi_wakeup_handler);

    return r;
    }
    --
    2.33.0.882.g93a45727a2-goog
    \
     
     \ /
      Last update: 2021-10-09 02:12    [W:4.179 / U:0.664 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site