[Devel] [PATCH RHEL7 COMMIT] ms/KVM: VMX: Reorder some skip_emulated_instruction calls
Konstantin Khorenko
khorenko at virtuozzo.com
Mon Apr 1 15:41:51 MSK 2019
The commit is pushed to "branch-rh7-3.10.0-957.10.1.vz7.85.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-957.10.1.vz7.85.7
------>
commit 1dabc205e65d96fdc4f3ee8eb07591becd1ce36c
Author: Kyle Huey <me at kylehuey.com>
Date: Mon Apr 1 15:41:50 2019 +0300
ms/KVM: VMX: Reorder some skip_emulated_instruction calls
The functions being moved ahead of skip_emulated_instruction here don't
need updated IPs, and skipping the emulated instruction at the end will
make it easier to return its value.
Signed-off-by: Kyle Huey <khuey at kylehuey.com>
Signed-off-by: Radim Krčmář <rkrcmar at redhat.com>
https://jira.sw.ru/browse/PSBM-92865
(cherry picked from commit 09ca3f20492fb0b03060b56a47afa211476740a8)
Signed-off-by: Jan Dakinevich <jan.dakinevich at virtuozzo.com>
=====================
Patchset description:
KVM: fix 'debug' test from 'kvm-unit-tests'
Reviewed-by: Roman Kagan <rkagan at virtuozzo.com>
---
arch/x86/kvm/vmx.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index a912ecbb5757..e87621fc6890 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -6161,8 +6161,8 @@ static int handle_cr(struct kvm_vcpu *vcpu)
case 2: /* clts */
handle_clts(vcpu);
trace_kvm_cr_write(0, kvm_read_cr0(vcpu));
- skip_emulated_instruction(vcpu);
vmx_fpu_activate(vcpu);
+ skip_emulated_instruction(vcpu);
return 1;
case 1: /*mov from cr*/
switch (cr) {
@@ -6891,8 +6891,8 @@ static int handle_pause(struct kvm_vcpu *vcpu)
if (ple_gap)
grow_ple_window(vcpu);
- skip_emulated_instruction(vcpu);
kvm_vcpu_on_spin(vcpu);
+ skip_emulated_instruction(vcpu);
return 1;
}
@@ -7266,8 +7266,8 @@ static int handle_vmon(struct kvm_vcpu *vcpu)
vmx->nested.vmxon = true;
- skip_emulated_instruction(vcpu);
nested_vmx_succeed(vcpu);
+ skip_emulated_instruction(vcpu);
return 1;
out_shadow_vmcs:
@@ -7384,8 +7384,8 @@ static int handle_vmoff(struct kvm_vcpu *vcpu)
if (!nested_vmx_check_permission(vcpu))
return 1;
free_nested(to_vmx(vcpu));
- skip_emulated_instruction(vcpu);
nested_vmx_succeed(vcpu);
+ skip_emulated_instruction(vcpu);
return 1;
}
@@ -7423,8 +7423,8 @@ static int handle_vmclear(struct kvm_vcpu *vcpu)
kunmap(page);
nested_release_page(page);
- skip_emulated_instruction(vcpu);
nested_vmx_succeed(vcpu);
+ skip_emulated_instruction(vcpu);
return 1;
}
More information about the Devel
mailing list