• Sean Christopherson's avatar
    KVM: VMX: Move preemption timer <=> hrtimer dance to common x86 · 98c25ead
    Sean Christopherson authored
    Handle the switch to/from the hypervisor/software timer when a vCPU is
    blocking in common x86 instead of in VMX.  Even though VMX is the only
    user of a hypervisor timer, the logic and all functions involved are
    generic x86 (unless future CPUs do something completely different and
    implement a hypervisor timer that runs regardless of mode).
    
    Handling the switch in common x86 will allow for the elimination of the
    pre/post_blocks hooks, and also lets KVM switch back to the hypervisor
    timer if and only if it was in use (without additional params).  Add a
    comment explaining why the switch cannot be deferred to kvm_sched_out()
    or kvm_vcpu_block().
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Reviewed-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
    Message-Id: <20211208015236.1616697-8-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    98c25ead
vmx.c 229 KB