Linux RCU subsystem development
 help / color / mirror / Atom feed
From: Frederic Weisbecker <frederic@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Frederic Weisbecker <frederic@kernel.org>,
	vlad.wing@gmail.com, rcu@vger.kernel.org, boqun.feng@gmail.com,
	joel@joelfernandes.org, neeraj.upadhyay@amd.com,
	urezki@gmail.com, qiang.zhang1211@gmail.com,
	Cheng-Jui.Wang@mediatek.com, leitao@debian.org,
	kernel-team@meta.com, Usama Arif <usamaarif642@gmail.com>,
	paulmck@kernel.org, Anna-Maria Behnsen <anna-maria@linutronix.de>
Subject: [PATCH 0/3 v2] hrtimer: Fix timers queued locally from offline CPUs
Date: Fri, 27 Dec 2024 00:30:49 +0100	[thread overview]
Message-ID: <20241226233052.145450-1-frederic@kernel.org> (raw)

5c0930ccaad5 ("hrtimers: Push pending hrtimers away from outgoing CPU earlier")
was introduced to fix stalls with scheduler bandwidth timers getting
migrated while some kthreads handling CPU hotplug rely on bandwidth.

However this has introduced several other issues which used to be
confined to RCU. But not anymore as it is spreading to hotplug code
itself (https://lore.kernel.org/all/20241213203739.1519801-1-usamaarif642@gmail.com/)

Instead of introducing yet another new hackery, fix the problem in
hrtimers for everyone.

Changes since v1:

_ Fix a build issue when CONFIG_HOTPLUG_CPU=n (folded #ifdeffery by Paul)

_ Remove the unconditionaly base lock within the IPI when both nohz and
  high resolution are off. There is really nothing to do for the IPI in
  such case.

Frederic Weisbecker (3):
  hrtimers: Force migrate away hrtimers queued after
    CPUHP_AP_HRTIMERS_DYING
  rcu: Remove swake_up_one_online() bandaid
  Revert "rcu/nocb: Fix rcuog wake-up from offline softirq"

 include/linux/hrtimer_defs.h |  1 +
 kernel/rcu/tree.c            | 34 +---------------------
 kernel/rcu/tree_exp.h        |  2 +-
 kernel/rcu/tree_nocb.h       | 10 ++-----
 kernel/time/hrtimer.c        | 55 +++++++++++++++++++++++++++++++++---
 5 files changed, 56 insertions(+), 46 deletions(-)

-- 
2.46.0


             reply	other threads:[~2024-12-26 23:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-26 23:30 Frederic Weisbecker [this message]
2024-12-26 23:30 ` [PATCH 1/3 v2] hrtimers: Force migrate away hrtimers queued after CPUHP_AP_HRTIMERS_DYING Frederic Weisbecker
2024-12-30 12:19   ` Usama Arif
2024-12-26 23:30 ` [PATCH 2/3 v2] rcu: Remove swake_up_one_online() bandaid Frederic Weisbecker
2024-12-30 13:46   ` Usama Arif
2024-12-26 23:30 ` [PATCH 3/3 v2] Revert "rcu/nocb: Fix rcuog wake-up from offline softirq" Frederic Weisbecker
2024-12-30 13:47   ` Usama Arif
2025-01-01  4:56 ` [PATCH 0/3 v2] hrtimer: Fix timers queued locally from offline CPUs Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241226233052.145450-1-frederic@kernel.org \
    --to=frederic@kernel.org \
    --cc=Cheng-Jui.Wang@mediatek.com \
    --cc=anna-maria@linutronix.de \
    --cc=boqun.feng@gmail.com \
    --cc=joel@joelfernandes.org \
    --cc=kernel-team@meta.com \
    --cc=leitao@debian.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neeraj.upadhyay@amd.com \
    --cc=paulmck@kernel.org \
    --cc=qiang.zhang1211@gmail.com \
    --cc=rcu@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=urezki@gmail.com \
    --cc=usamaarif642@gmail.com \
    --cc=vlad.wing@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox