提交 706fb730 编写于 作者: A Alexander Graf

KVM: PPC: Exit guest context while handling exit

The x86 implementation of KVM accounts for host time while processing
guest exits. Do the same for us.
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 c63ddcb4
...@@ -601,6 +601,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, ...@@ -601,6 +601,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
__hard_irq_enable(); __hard_irq_enable();
trace_kvm_exit(exit_nr, vcpu); trace_kvm_exit(exit_nr, vcpu);
kvm_guest_exit();
preempt_enable(); preempt_enable();
switch (exit_nr) { switch (exit_nr) {
...@@ -872,6 +873,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, ...@@ -872,6 +873,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
} }
} }
kvm_guest_enter();
trace_kvm_book3s_reenter(r, vcpu); trace_kvm_book3s_reenter(r, vcpu);
return r; return r;
......
...@@ -650,6 +650,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, ...@@ -650,6 +650,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
local_irq_enable(); local_irq_enable();
trace_kvm_exit(exit_nr, vcpu); trace_kvm_exit(exit_nr, vcpu);
kvm_guest_exit();
run->exit_reason = KVM_EXIT_UNKNOWN; run->exit_reason = KVM_EXIT_UNKNOWN;
run->ready_for_interrupt_injection = 1; run->ready_for_interrupt_injection = 1;
...@@ -952,6 +953,8 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, ...@@ -952,6 +953,8 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
} }
} }
kvm_guest_enter();
return r; return r;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册