Files
linux/include/linux
Linus Torvalds 1f5ffc6721 Fix mismerge of the arm64 / timer-core interrupt handling changes
Commit c43267e679 ("Merge tag 'arm64-upstream' of git://...") had a
conflict in the irq entry/exit code due to commit c5538d0141 ("entry:
Split kernel mode logic from irqentry_{enter,exit}()") having moved the
core code in irqentry_enter/exit() from kernel/entry/common.c into
helper inline functions in include/linux/irq-entry-common.h.

On the other side of the merge, the timer-core code had introduced
deferred hrtimer rearming infrastructure in commit 0e98eb1481 ("entry:
Prepare for deferred hrtimer rearming"), adding two calls to
hrtimer_rearm_deferred() in irqentry_enter().

When merging the two, moving the two calls to the new location wasn't a
problem, but afterwards I had made the mistake of looking what had
happened in linux-next.  And linux-next had a very different merge
resolution in commit 04f02dc3ea74 ("Merge tag 'entry-for-arm64-26-04-08'
into sched/hrtick"), which had unified the two calls into one single
call-site in irqentry_exit_to_kernel_mode_preempt().

And that merge resolution looked cleverer than the straightforward one I
had done, so I re-did my merge the way it had been done in linux-next.

But it turns out nobody apparently tests linux-next, and the merge in
linux-next was just wrong.

The difference is that hrtimer_rearm_deferred() doesn't get called at
all for the case when state.exit_rcu is true, and the boot will
typically fail due to timers not triggering correctly.

So this undoes the "clever" merge, and does the straightforward one
instead.

Fixes: c43267e679 ("Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux"
Reported-and-tested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Link: https://lore.kernel.org/all/CAADnVQJ=MoiX4=guPWhL9vtnAELkpNx=GNm8RA1-aV424UFz2A@mail.gmail.com/
Link: https://lore.kernel.org/all/CAHk-=wg8+BER4VyFKG3rnPi2gXxbf-jbHS=EU+xhFqGVQfbutw@mail.gmail.com/
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2026-04-14 23:03:02 -07:00
..
2026-02-11 13:44:47 +01:00
2025-10-22 07:54:33 +02:00
2026-01-29 20:21:41 +01:00
2025-09-05 15:06:03 +02:00
2026-04-09 21:40:22 +02:00
2025-07-21 18:18:51 +01:00
2026-01-20 19:44:19 -08:00
2026-04-03 16:53:50 -04:00
2026-04-07 08:22:24 -06:00
2025-07-31 11:28:03 -04:00
2026-04-08 18:09:56 -07:00
2025-11-21 11:21:31 +01:00
2026-04-04 08:10:37 -06:00
2026-03-16 13:16:49 +01:00
2026-03-02 17:08:05 -05:00
2026-04-10 11:25:34 -05:00
2025-09-23 11:13:22 +02:00
2026-03-31 19:15:21 +02:00
2025-12-16 14:40:51 +01:00
2025-10-22 07:55:00 +02:00
2025-11-01 12:44:49 -05:00
2025-12-13 20:04:32 +12:00
2026-03-23 13:33:51 -04:00
2026-02-19 09:12:05 +01:00
2025-12-23 11:23:10 -08:00
2026-02-27 16:40:16 +01:00
2026-03-26 15:03:30 +01:00
2025-10-29 18:28:29 -07:00
2025-09-13 17:32:44 -07:00
2026-01-12 16:52:09 +01:00
2025-11-04 12:36:02 +01:00
2026-02-06 07:29:14 -07:00
2025-10-22 07:53:15 +02:00
2025-09-23 11:13:22 +02:00
2026-01-05 16:43:31 +01:00
2026-01-11 06:09:11 -10:00
2026-04-01 10:19:41 +02:00
2026-04-03 16:53:50 -04:00
2026-04-03 16:53:50 -04:00
2026-01-20 19:24:50 -08:00
2026-01-26 19:03:47 -08:00
2025-11-23 12:30:40 +01:00
2025-12-29 11:53:38 +01:00
2026-01-26 20:02:27 -08:00
2025-09-17 15:58:29 -04:00
2026-03-08 11:06:53 +01:00
2025-09-23 13:28:20 -04:00
2025-11-05 23:58:20 +01:00
2025-11-03 17:41:17 +01:00
2025-11-11 10:01:30 +01:00
2026-02-20 17:31:55 -05:00
2026-03-27 07:35:05 -07:00
2026-03-12 16:18:49 +01:00
2026-01-30 11:34:34 +00:00
2025-09-13 16:55:07 -07:00
2026-02-10 11:39:31 +01:00
2026-02-10 11:39:30 +01:00
2026-01-11 06:09:11 -10:00
2025-08-24 11:41:11 -06:00
2025-10-30 18:35:26 +01:00
2025-10-24 21:39:27 +02:00
2025-10-31 10:16:23 +01:00
2026-03-27 17:14:31 -07:00
2026-02-27 16:40:16 +01:00
2025-11-18 17:52:54 +01:00
2026-01-11 06:09:11 -10:00
2026-03-08 11:06:53 +01:00
2025-11-28 09:21:18 -07:00
2026-03-31 07:04:00 -06:00
2026-03-25 20:11:29 +01:00
2026-01-31 14:22:57 -08:00
2026-03-23 12:41:58 +01:00
2026-01-14 12:04:34 +01:00
2026-04-13 08:39:51 -07:00
2026-01-11 06:09:11 -10:00
2025-11-03 17:41:18 +01:00
2026-01-20 19:24:47 -08:00
2026-01-30 18:26:59 -08:00