Skip to content

Commit

Permalink
tracing: Convert some timer events to DEFINE_EVENT
Browse files Browse the repository at this point in the history
Use DECLARE_EVENT_CLASS, and save ~2.3K:

   text    data     bss     dec     hex filename
7018823 2031888 7251132 16301843         f8bf13 vmlinux.o.orig
7016727 2031696 7251132 16299555         f8b623 vmlinux.o

5 events are converted:

  timer_class:   timer_init, timer_expire_exit, timer_cancel
  hrtimer_class: hrtimer_init, hrtimer_cancel

No change in functionality.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4BFA3773.3060200@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Li Zefan authored and Steven Rostedt committed Jun 28, 2010
1 parent 8728fe5 commit 363d0f6
Showing 1 changed file with 32 additions and 48 deletions.
80 changes: 32 additions & 48 deletions include/trace/events/timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@
#include <linux/hrtimer.h>
#include <linux/timer.h>

/**
* timer_init - called when the timer is initialized
* @timer: pointer to struct timer_list
*/
TRACE_EVENT(timer_init,
DECLARE_EVENT_CLASS(timer_class,

TP_PROTO(struct timer_list *timer),

Expand All @@ -29,6 +25,17 @@ TRACE_EVENT(timer_init,
TP_printk("timer=%p", __entry->timer)
);

/**
* timer_init - called when the timer is initialized
* @timer: pointer to struct timer_list
*/
DEFINE_EVENT(timer_class, timer_init,

TP_PROTO(struct timer_list *timer),

TP_ARGS(timer)
);

/**
* timer_start - called when the timer is started
* @timer: pointer to struct timer_list
Expand Down Expand Up @@ -94,42 +101,22 @@ TRACE_EVENT(timer_expire_entry,
* NOTE: Do NOT derefernce timer in TP_fast_assign. The pointer might
* be invalid. We solely track the pointer.
*/
TRACE_EVENT(timer_expire_exit,
DEFINE_EVENT(timer_class, timer_expire_exit,

TP_PROTO(struct timer_list *timer),

TP_ARGS(timer),

TP_STRUCT__entry(
__field(void *, timer )
),

TP_fast_assign(
__entry->timer = timer;
),

TP_printk("timer=%p", __entry->timer)
TP_ARGS(timer)
);

/**
* timer_cancel - called when the timer is canceled
* @timer: pointer to struct timer_list
*/
TRACE_EVENT(timer_cancel,
DEFINE_EVENT(timer_class, timer_cancel,

TP_PROTO(struct timer_list *timer),

TP_ARGS(timer),

TP_STRUCT__entry(
__field( void *, timer )
),

TP_fast_assign(
__entry->timer = timer;
),

TP_printk("timer=%p", __entry->timer)
TP_ARGS(timer)
);

/**
Expand Down Expand Up @@ -224,14 +211,7 @@ TRACE_EVENT(hrtimer_expire_entry,
(unsigned long long)ktime_to_ns((ktime_t) { .tv64 = __entry->now }))
);

/**
* hrtimer_expire_exit - called immediately after the hrtimer callback returns
* @timer: pointer to struct hrtimer
*
* When used in combination with the hrtimer_expire_entry tracepoint we can
* determine the runtime of the callback function.
*/
TRACE_EVENT(hrtimer_expire_exit,
DECLARE_EVENT_CLASS(hrtimer_class,

TP_PROTO(struct hrtimer *hrtimer),

Expand All @@ -249,24 +229,28 @@ TRACE_EVENT(hrtimer_expire_exit,
);

/**
* hrtimer_cancel - called when the hrtimer is canceled
* @hrtimer: pointer to struct hrtimer
* hrtimer_expire_exit - called immediately after the hrtimer callback returns
* @timer: pointer to struct hrtimer
*
* When used in combination with the hrtimer_expire_entry tracepoint we can
* determine the runtime of the callback function.
*/
TRACE_EVENT(hrtimer_cancel,
DEFINE_EVENT(hrtimer_class, hrtimer_expire_exit,

TP_PROTO(struct hrtimer *hrtimer),

TP_ARGS(hrtimer),
TP_ARGS(hrtimer)
);

TP_STRUCT__entry(
__field( void *, hrtimer )
),
/**
* hrtimer_cancel - called when the hrtimer is canceled
* @hrtimer: pointer to struct hrtimer
*/
DEFINE_EVENT(hrtimer_class, hrtimer_cancel,

TP_fast_assign(
__entry->hrtimer = hrtimer;
),
TP_PROTO(struct hrtimer *hrtimer),

TP_printk("hrtimer=%p", __entry->hrtimer)
TP_ARGS(hrtimer)
);

/**
Expand Down

0 comments on commit 363d0f6

Please sign in to comment.