KVM: nVMX: Don't reread VMCS-agnostic state when switching VMCS
When switching between vmcs01 and vmcs02, there is no need to update state tracking for values that aren't tied to any particular VMCS as the per-vCPU values are already up-to-date (vmx_switch_vmcs() can only be called when the vCPU is loaded). Avoiding the update eliminates a RDMSR, and potentially a RDPKRU and posted-interrupt update (cmpxchg64() and more). Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:

committed by
Paolo Bonzini

parent
13b964a29d
commit
8ef863e67a
@@ -279,7 +279,7 @@ static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs)
|
||||
cpu = get_cpu();
|
||||
prev = vmx->loaded_vmcs;
|
||||
vmx->loaded_vmcs = vmcs;
|
||||
vmx_vcpu_load(vcpu, cpu);
|
||||
vmx_vcpu_load_vmcs(vcpu, cpu);
|
||||
vmx_sync_vmcs_host_state(vmx, prev);
|
||||
put_cpu();
|
||||
|
||||
|
Reference in New Issue
Block a user