| From af764757b8eebc34b0b0c083a00722e904667e5f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 19 Jan 2026 11:38:34 +0100 |
| Subject: hrtimer: Fix trace oddity |
| |
| From: Thomas Gleixner <tglx@linutronix.de> |
| |
| [ Upstream commit 5d6446f409da00e5a389125ddb5ce09f5bc404c9 ] |
| |
| It turns out that __run_hrtimer() will trace like: |
| |
| <idle>-0 [032] d.h2. 20705.474563: hrtimer_cancel: hrtimer=0xff2db8f77f8226e8 |
| <idle>-0 [032] d.h1. 20705.474563: hrtimer_expire_entry: hrtimer=0xff2db8f77f8226e8 now=20699452001850 function=tick_nohz_handler/0x0 |
| |
| Which is a bit nonsensical, the timer doesn't get canceled on |
| expiration. The cause is the use of the incorrect debug helper. |
| |
| Fixes: c6a2a1770245 ("hrtimer: Add tracepoint for hrtimers") |
| Reported-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Link: https://patch.msgid.link/20260121143208.219595606@infradead.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| kernel/time/hrtimer.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c |
| index c202488695c46..cf928eb8f2f8d 100644 |
| --- a/kernel/time/hrtimer.c |
| +++ b/kernel/time/hrtimer.c |
| @@ -1553,7 +1553,7 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base, |
| |
| lockdep_assert_held(&cpu_base->lock); |
| |
| - debug_deactivate(timer); |
| + debug_hrtimer_deactivate(timer); |
| base->running = timer; |
| |
| /* |
| -- |
| 2.51.0 |
| |