KVM: VMX: Drop hv_timer_armed from 'struct loaded_vmcs'
authorSean Christopherson <sean.j.christopherson@intel.com>
Tue, 7 May 2019 19:18:03 +0000 (12:18 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Jun 2019 09:47:46 +0000 (11:47 +0200)
... now that it is fully redundant with the pin controls shadow.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c
arch/x86/kvm/vmx/vmcs.h
arch/x86/kvm/vmx/vmx.c

index 23c310a..22e02f1 100644 (file)
@@ -2015,7 +2015,6 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
        exec_control |= vmcs12->pin_based_vm_exec_control;
        /* Preemption timer setting is computed directly in vmx_vcpu_run.  */
        exec_control &= ~PIN_BASED_VMX_PREEMPTION_TIMER;
-       vmx->loaded_vmcs->hv_timer_armed = false;
 
        /* Posted interrupts setting is only taken from vmcs12.  */
        if (nested_cpu_has_posted_intr(vmcs12)) {
index 52f12d7..9a87a24 100644 (file)
@@ -61,7 +61,6 @@ struct loaded_vmcs {
        int cpu;
        bool launched;
        bool nmi_known_unmasked;
-       bool hv_timer_armed;
        /* Support for vnmi-less CPUs */
        int soft_vnmi_blocked;
        ktime_t entry_time;
index bae376b..09f1e0b 100644 (file)
@@ -6359,9 +6359,7 @@ static void atomic_switch_perf_msrs(struct vcpu_vmx *vmx)
 static void vmx_arm_hv_timer(struct vcpu_vmx *vmx, u32 val)
 {
        vmcs_write32(VMX_PREEMPTION_TIMER_VALUE, val);
-       if (!vmx->loaded_vmcs->hv_timer_armed)
-               pin_controls_setbit(vmx, PIN_BASED_VMX_PREEMPTION_TIMER);
-       vmx->loaded_vmcs->hv_timer_armed = true;
+       pin_controls_setbit(vmx, PIN_BASED_VMX_PREEMPTION_TIMER);
 }
 
 static void vmx_update_hv_timer(struct kvm_vcpu *vcpu)
@@ -6388,9 +6386,7 @@ static void vmx_update_hv_timer(struct kvm_vcpu *vcpu)
                return;
        }
 
-       if (vmx->loaded_vmcs->hv_timer_armed)
-               pin_controls_clearbit(vmx, PIN_BASED_VMX_PREEMPTION_TIMER);
-       vmx->loaded_vmcs->hv_timer_armed = false;
+       pin_controls_clearbit(vmx, PIN_BASED_VMX_PREEMPTION_TIMER);
 }
 
 void vmx_update_host_rsp(struct vcpu_vmx *vmx, unsigned long host_rsp)