[tip: timers/core] alarmtimer: Trace the requested expiry when starting an alarm

From: tip-bot2 for Avi Weiss

Date: Mon Nov 09 2026 - 15:38:51 EST


The following commit has been merged into the timers/core branch of tip:

Commit-ID: 0359ecff58853a491dd0f09792fea8e87235ae06
Gitweb: https://git.kernel.org/tip/0359ecff58853a491dd0f09792fea8e87235ae06
Author: Avi Weiss <thnkslprpt@xxxxxxxxx>
AuthorDate: Sun, 01 Nov 2026 21:24:02 +02:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxx>
CommitterDate: Mon, 09 Nov 2026 21:31:47 +01:00

alarmtimer: Trace the requested expiry when starting an alarm

alarm_start_timer() traces alarm->node.expires before updating it,
so alarmtimer_start reports the previous deadline on rearm.

Move the tracepoint after assigning the new expiry time.

Fixes: 183d00b72713 ("alarmtimer: Provide alarm_start_timer()")
Signed-off-by: Avi Weiss <thnkslprpt@xxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxx>
Link: https://patch.msgid.link/20261101192401.858702-2-thnkslprpt@xxxxxxxxx
---
kernel/time/alarmtimer.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index 33c35f1..ecf8c89 100644
--- a/kernel/time/alarmtimer.c
+++ b/kernel/time/alarmtimer.c
@@ -344,10 +344,9 @@ bool alarm_start_timer(struct alarm *alarm, ktime_t expires, bool relative)
if (relative)
expires = ktime_add_safe(expires, base->get_ktime());

- trace_alarmtimer_start(alarm, base->get_ktime());
-
guard(spinlock_irqsave)(&base->lock);
alarm->node.expires = expires;
+ trace_alarmtimer_start(alarm, base->get_ktime());
alarmtimer_enqueue(base, alarm);
if (!hrtimer_start_range_ns_user(&alarm->timer, expires, 0, HRTIMER_MODE_ABS)) {
alarmtimer_dequeue(base, alarm);