From 87c0a72e82321283d3ee592590e42a2c76320629 Mon Sep 17 00:00:00 2001 From: Gleb Natapov Date: Wed, 4 Apr 2012 15:30:33 +0300 Subject: [PATCH] --- yaml --- r: 298891 b: refs/heads/master c: e08759215b7dcb7111e94f0f96918dd98e86ca6b h: refs/heads/master i: 298889: 0e6eb0c082ced4f21e51345802e5e29becfc27fb 298887: b73fc4e4212d92fbc5ad16a9255f4c7057401ed3 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/kvm.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index bfa19581ae1e..edd9449f03c3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8a4032496f41d40d2d0272b887b7f4cbc0ea2186 +refs/heads/master: e08759215b7dcb7111e94f0f96918dd98e86ca6b diff --git a/trunk/arch/x86/kernel/kvm.c b/trunk/arch/x86/kernel/kvm.c index 694d801bf606..b8ba6e4a27e4 100644 --- a/trunk/arch/x86/kernel/kvm.c +++ b/trunk/arch/x86/kernel/kvm.c @@ -38,6 +38,7 @@ #include #include #include +#include static int kvmapf = 1; @@ -253,7 +254,10 @@ do_async_page_fault(struct pt_regs *regs, unsigned long error_code) kvm_async_pf_task_wait((u32)read_cr2()); break; case KVM_PV_REASON_PAGE_READY: + rcu_irq_enter(); + exit_idle(); kvm_async_pf_task_wake((u32)read_cr2()); + rcu_irq_exit(); break; } }