@@ -601,6 +601,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
__hard_irq_enable();
trace_kvm_exit(exit_nr, vcpu);
+ kvm_guest_exit();
preempt_enable();
switch (exit_nr) {
@@ -872,6 +873,7 @@ program_interrupt:
}
}
+ kvm_guest_enter();
trace_kvm_book3s_reenter(r, vcpu);
return r;
@@ -650,6 +650,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
local_irq_enable();
trace_kvm_exit(exit_nr, vcpu);
+ kvm_guest_exit();
run->exit_reason = KVM_EXIT_UNKNOWN;
run->ready_for_interrupt_injection = 1;
@@ -952,6 +953,8 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
}
}
+ kvm_guest_enter();
+
return r;
}
The x86 implementation of KVM accounts for host time while processing guest exits. Do the same for us. Signed-off-by: Alexander Graf <agraf@suse.de> --- arch/powerpc/kvm/book3s_pr.c | 2 ++ arch/powerpc/kvm/booke.c | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-)