projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
KVM guest: exit idleness when handling KVM_PV_REASON_PAGE_NOT_PRESENT
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
arch
/
x86
/
kernel
/
kvm.c
diff --git
a/arch/x86/kernel/kvm.c
b/arch/x86/kernel/kvm.c
index
b3e5e51
..
4180a87
100644
(file)
--- a/
arch/x86/kernel/kvm.c
+++ b/
arch/x86/kernel/kvm.c
@@
-247,7
+247,10
@@
do_async_page_fault(struct pt_regs *regs, unsigned long error_code)
break;
case KVM_PV_REASON_PAGE_NOT_PRESENT:
/* page is swapped out by the host. */
+ rcu_irq_enter();
+ exit_idle();
kvm_async_pf_task_wait((u32)read_cr2());
+ rcu_irq_exit();
break;
case KVM_PV_REASON_PAGE_READY:
rcu_irq_enter();