Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1420598
| 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 |
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
[patch 10/20] timer: Add a cascading tracepoint Thomas Gleixner <tglx@linutronix.de> - 2016-06-13 10:50 +0200
csiph-web