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@xxxxxxxxx/) 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