KVM: nVMX: Avoid one redundant vmcs_read in prepare_vmcs12
PATCH 1/1 KVM: nVMX: Avoid one redundant vmcs_read in prepare_vmcs12
IDT_VECTORING_INFO_FIELD was already read right after vmexit.
Signed-off-by Jan Kiszka <[email protected]>
--- arch/x86/kvm/vmx.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
arch/x86/kvm/vmx.c +1 -2
@@ -7368,8 +7368,7 @@ void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) vmcs12->vm_exit_intr_info =vmcs_read32 (VM_EXIT_INTR_INFO ); vmcs12->vm_exit_intr_error_code =vmcs_read32 (VM_EXIT_INTR_ERROR_CODE ); - vmcs12->idt_vectoring_info_field = -vmcs_read32 (IDT_VECTORING_INFO_FIELD ); + vmcs12->idt_vectoring_info_field =to_vmx (vcpu)->idt_vectoring_info; vmcs12->idt_vectoring_error_code =vmcs_read32 (IDT_VECTORING_ERROR_CODE ); vmcs12->vm_exit_instruction_len =vmcs_read32 (VM_EXIT_INSTRUCTION_LEN );
Signature · 1 line
1.7.3.4
Gleb Natapov
AppliedQuoted 2 lines · Jan Kiszka
IDT_VECTORING_INFO_FIELDwas already read right after vmexit.
Applied, thanks.
Quoted 21 lines
Signed-off-by Jan Kiszka <[email protected]>--- arch/x86/kvm/vmx.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)arch/x86/kvm/vmx.c +1
-2@@ -7368,8 +7368,7 @@ void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) vmcs12->vm_exit_intr_info =vmcs_read32 (VM_EXIT_INTR_INFO ); vmcs12->vm_exit_intr_error_code =vmcs_read32 (VM_EXIT_INTR_ERROR_CODE ); - vmcs12->idt_vectoring_info_field = -vmcs_read32 (IDT_VECTORING_INFO_FIELD ); + vmcs12->idt_vectoring_info_field =to_vmx (vcpu)->idt_vectoring_info; vmcs12->idt_vectoring_error_code =vmcs_read32 (IDT_VECTORING_ERROR_CODE ); vmcs12->vm_exit_instruction_len =vmcs_read32 (VM_EXIT_INSTRUCTION_LEN );Signature · 1 line
1.7.3.4
--
Gleb.