Skip to content

rcu/sched: Fix ignored rescheduling after rcu_eqs_enter() v4

Frederic Weisbecker lkml stable 1 version Applied

Status from this message: The following commit has been merged into the sched/core branch of tip:

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 2 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/5rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callerskernel/rcu/tree.c+10 -10 replies
2/5rcu/nocb: Perform deferred wake up before last idle's need_resched() checkinclude/linux/rcupdate.h kernel/rcu/tree.c kernel/rcu/tree_plugin.h +1 more+10 -32 replies
3/5rcu/nocb: Trigger self-IPI on late deferred wake up before user resumekernel/rcu/tree.c kernel/rcu/tree.h kernel/rcu/tree_plugin.h+37 -110 replies
4/5entry: Explicitly flush pending rcuog wakeup before last rescheduling pointkernel/entry/common.c kernel/rcu/tree.c+14 -50 replies
5/5entry/kvm: Explicitly flush pending rcuog wakeup before last rescheduling pointarch/x86/kvm/x86.c include/linux/entry-kvm.h kernel/rcu/tree.c +1 more+50 -100 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/5] rcu/sched: Fix ignored rescheduling after rcu_eqs_enter() v4

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(-)