On 27/07/2017 11:05, Wanpeng Li wrote: > Commit 9b132fbe5419 (Add rcu user eqs exception hooks for async page fault) > adds rcu_irq_enter/exit() to kvm_async_pf_task_wait() to exit cpu idle eqs > when needed, to protect the code that needs use rcu. There is no need to call > this pairs if async page fault is not triggered from idle task. This is true, but I think the patch is making things more complex where it could be simplifying them. Right now, the "native_safe_halt" branch is calling rcu_irq_exit/enter but the "schedule" branch is not. Could you just pull rcu_irq_exit/enter outside the "if", so that you inform the RCU subsystem even in the !n.halted case? Paolo