linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] rcu: Fix PF_IDLE related issues, part. 1
@ 2023-10-19 23:35 Frederic Weisbecker
  2023-10-19 23:35 ` [PATCH 1/4] softirq: Rename __raise_softirq_irqoff() to raise_softirq_no_wake() Frederic Weisbecker
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Frederic Weisbecker @ 2023-10-19 23:35 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Boqun Feng, Joel Fernandes, Josh Triplett,
	Mathieu Desnoyers, Neeraj Upadhyay, Paul E . McKenney,
	Steven Rostedt, Uladzislau Rezki, rcu, Liam R . Howlett,
	Peter Zijlstra, Sebastian Siewior, Thomas Gleixner, Zqiang,
	Lai Jiangshan

The modification of PF_IDLE semantics lately to fix a bug in rcutiny
eventually introduced new bugs in RCU-tasks. This series revert that
PF_IDLE modification and fix rcutiny in an alternate way.

More issues need to be fixed in RCU-tasks:

* The boot code preceding the idle entry is included in this
  quiescent state. Especially after the completion of kthreadd_done
  after which init/1 can launch userspace concurrently. The window
  is tiny before PF_IDLE is set but it exists.

* Similarly, the boot code preceding the idle entry on secondary
  CPUs is wrongly accounted as RCU tasks quiescent state.

And those will be fixed separetely.

Frederic Weisbecker (4):
  softirq: Rename __raise_softirq_irqoff() to raise_softirq_no_wake()
  softirq: Introduce raise_ksoftirqd_irqoff()
  rcu: Make tiny RCU use ksoftirqd to trigger a QS from idle
  Revert "kernel/sched: Modify initial boot task idle setup"

 block/blk-mq.c            |  2 +-
 include/linux/interrupt.h |  3 ++-
 kernel/rcu/tiny.c         | 21 +++++++++++++-----
 kernel/sched/core.c       |  2 +-
 kernel/sched/idle.c       |  1 -
 kernel/softirq.c          | 45 +++++++++++++++++++++++++--------------
 lib/irq_poll.c            |  4 ++--
 net/core/dev.c            |  8 +++----
 8 files changed, 55 insertions(+), 31 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-10-20 15:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-19 23:35 [PATCH 0/4] rcu: Fix PF_IDLE related issues, part. 1 Frederic Weisbecker
2023-10-19 23:35 ` [PATCH 1/4] softirq: Rename __raise_softirq_irqoff() to raise_softirq_no_wake() Frederic Weisbecker
2023-10-19 23:35 ` [PATCH 2/4] softirq: Introduce raise_ksoftirqd_irqoff() Frederic Weisbecker
2023-10-19 23:35 ` [PATCH 3/4] rcu: Make tiny RCU use ksoftirqd to trigger a QS from idle Frederic Weisbecker
2023-10-20  0:49   ` Paul E. McKenney
2023-10-19 23:35 ` [PATCH 4/4] Revert "kernel/sched: Modify initial boot task idle setup" Frederic Weisbecker
2023-10-20  8:25   ` Peter Zijlstra
2023-10-20 12:31     ` Frederic Weisbecker
2023-10-20 13:48       ` Peter Zijlstra
2023-10-20 15:05         ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).