KVM: VMX: call vmx_load_host_state() only if msr is cached

No need to call it before each kvm_(set|get)_msr_common()

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
Gleb Natapov 2009-08-27 15:07:30 +03:00 committed by Avi Kivity
parent e8a48342e9
commit 542423b0dd
1 changed files with 2 additions and 2 deletions

View File

@ -1007,9 +1007,9 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
data = vmcs_readl(GUEST_SYSENTER_ESP); data = vmcs_readl(GUEST_SYSENTER_ESP);
break; break;
default: default:
vmx_load_host_state(to_vmx(vcpu));
msr = find_msr_entry(to_vmx(vcpu), msr_index); msr = find_msr_entry(to_vmx(vcpu), msr_index);
if (msr) { if (msr) {
vmx_load_host_state(to_vmx(vcpu));
data = msr->data; data = msr->data;
break; break;
} }
@ -1066,9 +1066,9 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)
} }
/* Otherwise falls through to kvm_set_msr_common */ /* Otherwise falls through to kvm_set_msr_common */
default: default:
vmx_load_host_state(vmx);
msr = find_msr_entry(vmx, msr_index); msr = find_msr_entry(vmx, msr_index);
if (msr) { if (msr) {
vmx_load_host_state(vmx);
msr->data = data; msr->data = data;
break; break;
} }