summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-04-30 10:56:12 +0200
committerAlexander Graf <agraf@suse.de>2012-05-06 16:19:11 +0200
commit3b1d9d7d95e7c62518160edebd92450b58c6d55f (patch)
treeab8572fb5e85023bf29fe9c0ba29e4934d65757e /arch/powerpc
parent11f7d6c2d1b17abf7b91e0f2d43bfe9de0b9e5cf (diff)
downloadlinux-3b1d9d7d95e7c62518160edebd92450b58c6d55f.tar.gz
linux-3b1d9d7d95e7c62518160edebd92450b58c6d55f.tar.bz2
linux-3b1d9d7d95e7c62518160edebd92450b58c6d55f.zip
KVM: PPC: Book3S: Enable IRQs during exit handling
While handling an exit, we should listen for interrupts and make sure to receive them when they arrive, to keep our latencies low. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kvm/book3s_pr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index dba282e5093f..d169a0aa4887 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -548,6 +548,9 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
run->exit_reason = KVM_EXIT_UNKNOWN;
run->ready_for_interrupt_injection = 1;
+ /* We get here with MSR.EE=0, so enable it to be a nice citizen */
+ __hard_irq_enable();
+
trace_kvm_book3s_exit(exit_nr, vcpu);
preempt_enable();
kvm_resched(vcpu);