[PATCH 019/104] KVM: Hoist kvm_mmu_reload() out of the critical section

From: Avi Kivity
Date: Mon Sep 17 2007 - 04:36:40 EST


From: Shaohua Li <shaohua.li@xxxxxxxxx>

vmx_cpu_run doesn't handle error correctly and kvm_mmu_reload might
sleep with mutex changes, so I move it above.

Signed-off-by: Shaohua Li <shaohua.li@xxxxxxxxx>
Signed-off-by: Avi Kivity <avi@xxxxxxxxxxxx>
---
drivers/kvm/vmx.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index 2c4f01b..79674a7 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -1999,16 +1999,16 @@ preempted:
kvm_guest_debug_pre(vcpu);

again:
+ r = kvm_mmu_reload(vcpu);
+ if (unlikely(r))
+ goto out;
+
if (!vcpu->mmio_read_completed)
do_interrupt_requests(vcpu, kvm_run);

vmx_save_host_state(vcpu);
kvm_load_guest_fpu(vcpu);

- r = kvm_mmu_reload(vcpu);
- if (unlikely(r))
- goto out;
-
/*
* Loading guest fpu may have cleared host cr0.ts
*/
--
1.5.3

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/