]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hrtimer: Add hrtimer_rearm tracepoint
authorThomas Gleixner <tglx@kernel.org>
Tue, 24 Feb 2026 16:37:43 +0000 (17:37 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 27 Feb 2026 15:40:12 +0000 (16:40 +0100)
Analyzing the reprogramming of the clock event device is essential to debug
the behaviour of the hrtimer subsystem especially with the upcoming
deferred rearming scheme.

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260224163430.803669745@kernel.org
include/trace/events/timer.h

index ab9a9386f7b6545c84fc542139156d89da9cc03a..a54613f59e55bf89b6908012b32ff6a283eb4746 100644 (file)
@@ -324,6 +324,30 @@ DEFINE_EVENT(hrtimer_class, hrtimer_cancel,
        TP_ARGS(hrtimer)
 );
 
+/**
+ * hrtimer_rearm - Invoked when the clockevent device is rearmed
+ * @next_event:        The next expiry time (CLOCK_MONOTONIC)
+ */
+TRACE_EVENT(hrtimer_rearm,
+
+       TP_PROTO(ktime_t next_event, bool deferred),
+
+       TP_ARGS(next_event, deferred),
+
+       TP_STRUCT__entry(
+               __field( s64,           next_event      )
+               __field( bool,          deferred        )
+       ),
+
+       TP_fast_assign(
+               __entry->next_event     = next_event;
+               __entry->deferred       = deferred;
+       ),
+
+       TP_printk("next_event=%llu deferred=%d",
+                 (unsigned long long) __entry->next_event, __entry->deferred)
+);
+
 /**
  * itimer_state - called when itimer is started or canceled
  * @which:     name of the interval timer