Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1420598

[patch 10/20] timer: Add a cascading tracepoint

From Thomas Gleixner <tglx@linutronix.de>
Newsgroups linux.kernel
Subject [patch 10/20] timer: Add a cascading tracepoint
Date 2016-06-13 10:50 +0200
Message-ID <rJvJf-3OU-3@gated-at.bofh.it> (permalink)
References <rJvJf-3OU-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


For analysis of the timer wheel its necessary to trace the cascading. Add a
tracepoint.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: rt@linutronix.de
---
 include/trace/events/timer.h |   11 +++++++++++
 kernel/time/timer.c          |    1 +
 2 files changed, 12 insertions(+)

--- a/include/trace/events/timer.h
+++ b/include/trace/events/timer.h
@@ -126,6 +126,17 @@ DEFINE_EVENT(timer_class, timer_cancel,
 );
 
 /**
+ * timer_cascade - called when the timer is cascaded
+ * @timer:	pointer to struct timer_list
+ */
+DEFINE_EVENT(timer_class, timer_cascade,
+
+	TP_PROTO(struct timer_list *timer),
+
+	TP_ARGS(timer)
+);
+
+/**
  * hrtimer_init - called when the hrtimer is initialized
  * @hrtimer:	pointer to struct hrtimer
  * @clockid:	the hrtimers clock
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1099,6 +1099,7 @@ static int cascade(struct tvec_base *bas
 	 * don't have to detach them individually.
 	 */
 	hlist_for_each_entry_safe(timer, tmp, &tv_list, entry) {
+		trace_timer_cascade(timer);
 		/* No accounting, while moving them */
 		__internal_add_timer(base, timer);
 	}

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[patch 10/20] timer: Add a cascading tracepoint Thomas Gleixner <tglx@linutronix.de> - 2016-06-13 10:50 +0200

csiph-web