Skip to content

Commit 8378c89

Browse files
committed
Merge tag 'timers-urgent-2025-09-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Ingo Molnar: "Fix a lost-timeout CPU hotplug bug in the hrtimer code, which can trigger with certain hardware configs and regular HZ" * tag 'timers-urgent-2025-09-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hrtimers: Unconditionally update target CPU base after offline timer migration
2 parents 563b3f6 + e895f8e commit 8378c89

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

kernel/time/hrtimer.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -787,10 +787,10 @@ static void retrigger_next_event(void *arg)
787787
* of the next expiring timer is enough. The return from the SMP
788788
* function call will take care of the reprogramming in case the
789789
* CPU was in a NOHZ idle sleep.
790+
*
791+
* In periodic low resolution mode, the next softirq expiration
792+
* must also be updated.
790793
*/
791-
if (!hrtimer_hres_active(base) && !tick_nohz_active)
792-
return;
793-
794794
raw_spin_lock(&base->lock);
795795
hrtimer_update_base(base);
796796
if (hrtimer_hres_active(base))
@@ -2295,11 +2295,6 @@ int hrtimers_cpu_dying(unsigned int dying_cpu)
22952295
&new_base->clock_base[i]);
22962296
}
22972297

2298-
/*
2299-
* The migration might have changed the first expiring softirq
2300-
* timer on this CPU. Update it.
2301-
*/
2302-
__hrtimer_get_next_event(new_base, HRTIMER_ACTIVE_SOFT);
23032298
/* Tell the other CPU to retrigger the next event */
23042299
smp_call_function_single(ncpu, retrigger_next_event, NULL, 0);
23052300

0 commit comments

Comments
 (0)