So, here is a hopefully improved version with the following changes: * No more late wake up debugging, objtool should debug that later with noinstr code calling into the scheduler (Peter suggestion) * Dropped the double rdp fetch patch, just keep the fix part for now * Properly protect irq work call from rcu_user_enter() inside instrumention_begin() * Handle CONFIG_KVM_XFER_TO_GUEST_WORK (as per Peter suggestion) git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git sched/idle-v4 HEAD: d3e956d0b693a572bd5f56241816a6390c5b2797 Thanks, Frederic --- Frederic Weisbecker (5): rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers rcu/nocb: Perform deferred wake up before last idle's need_resched() check rcu/nocb: Trigger self-IPI on late deferred wake up before user resume entry: Explicitly flush pending rcuog wakeup before last rescheduling point entry/kvm: Explicitly flush pending rcuog wakeup before last rescheduling point arch/x86/kvm/x86.c | 1 + include/linux/entry-kvm.h | 14 +++++++++++++ include/linux/rcupdate.h | 2 ++ kernel/entry/common.c | 7 +++++++ kernel/rcu/tree.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++- kernel/rcu/tree.h | 2 +- kernel/rcu/tree_plugin.h | 31 +++++++++++++++++++-------- kernel/sched/idle.c | 3 +++ 8 files changed, 102 insertions(+), 11 deletions(-)