Thread (18 messages) 18 messages, 3 authors, 2021-02-17

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

flat view
STALE2083d

From: Frederic Weisbecker <frederic@kernel.org>
Date: 2021-01-31 23:06:44
Also in: lkml
Subsystem: generic entry code, kernel virtual machine for x86 (kvm/x86), read-copy update (rcu), scheduler, the rest, x86 architecture (32-bit and 64-bit) · Maintainers: Thomas Gleixner, Peter Zijlstra, Andy Lutomirski, Sean Christopherson, Paolo Bonzini, "Paul E. McKenney", Frederic Weisbecker, Neeraj Upadhyay, Joel Fernandes, Josh Triplett, Boqun Feng, Uladzislau Rezki, Ingo Molnar, Juri Lelli, Vincent Guittot, Linus Torvalds, Borislav Petkov, Dave Hansen

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(-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help