X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Ftimer.h;h=9c02c9676a88b4c658228bbedadd00bfcbbcc7a3;hb=f3166f27f5e2d2210cec32d68c277940a7473281;hp=d00507373f69b1683e18f7ab6808ffe38d6d6f7d;hpb=f127e61ee231d002fb9a7803643a157e06f6d2e2;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h index d0050737..9c02c967 100644 --- a/instrumentation/events/lttng-module/timer.h +++ b/instrumentation/events/lttng-module/timer.h @@ -4,17 +4,24 @@ #if !defined(LTTNG_TRACE_TIMER_H) || defined(TRACE_HEADER_MULTI_READ) #define LTTNG_TRACE_TIMER_H -#include "../../../probes/lttng-tracepoint-event.h" +#include #ifndef _TRACE_TIMER_DEF_ #define _TRACE_TIMER_DEF_ #include #include +#include struct timer_list; #endif /* _TRACE_TIMER_DEF_ */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) +#define lttng_ktime_get_tv64(kt) (kt) +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */ +#define lttng_ktime_get_tv64(kt) ((kt).tv64) +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */ + LTTNG_TRACEPOINT_EVENT_CLASS(timer_class, TP_PROTO(struct timer_list *timer), @@ -22,7 +29,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(timer_class, TP_ARGS(timer), TP_FIELDS( - ctf_integer(void *, timer, timer) + ctf_integer_hex(void *, timer, timer) ) ) @@ -37,6 +44,29 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init, TP_ARGS(timer) ) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) +/** + * timer_start - called when the timer is started + * @timer: pointer to struct timer_list + * @expires: the timers expiry time + * @flags: the timers expiry time + */ +LTTNG_TRACEPOINT_EVENT(timer_start, + + TP_PROTO(struct timer_list *timer, unsigned long expires, + unsigned int flags), + + TP_ARGS(timer, expires, flags), + + TP_FIELDS( + ctf_integer_hex(void *, timer, timer) + ctf_integer_hex(void *, function, timer->function) + ctf_integer(unsigned long, expires, expires) + ctf_integer(unsigned long, now, jiffies) + ctf_integer(unsigned int, flags, flags) + ) +) +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */ /** * timer_start - called when the timer is started * @timer: pointer to struct timer_list @@ -49,12 +79,13 @@ LTTNG_TRACEPOINT_EVENT(timer_start, TP_ARGS(timer, expires), TP_FIELDS( - ctf_integer(void *, timer, timer) - ctf_integer(void *, function, timer->function) + ctf_integer_hex(void *, timer, timer) + ctf_integer_hex(void *, function, timer->function) ctf_integer(unsigned long, expires, expires) ctf_integer(unsigned long, now, jiffies) ) ) +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */ /** * timer_expire_entry - called immediately before the timer callback @@ -69,9 +100,9 @@ LTTNG_TRACEPOINT_EVENT(timer_expire_entry, TP_ARGS(timer), TP_FIELDS( - ctf_integer(void *, timer, timer) + ctf_integer_hex(void *, timer, timer) ctf_integer(unsigned long, now, jiffies) - ctf_integer(void *, function, timer->function) + ctf_integer_hex(void *, function, timer->function) ) ) @@ -119,7 +150,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_init, TP_ARGS(hrtimer, clockid, mode), TP_FIELDS( - ctf_integer(void *, hrtimer, hrtimer) + ctf_integer_hex(void *, hrtimer, hrtimer) ctf_integer(clockid_t, clockid, clockid) ctf_integer(enum hrtimer_mode, mode, mode) ) @@ -138,10 +169,12 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start, TP_ARGS(hrtimer), TP_FIELDS( - ctf_integer(void *, hrtimer, hrtimer) - ctf_integer(void *, function, hrtimer->function) - ctf_integer(s64, expires, hrtimer_get_expires(hrtimer).tv64) - ctf_integer(s64, softexpires, hrtimer_get_softexpires(hrtimer).tv64) + ctf_integer_hex(void *, hrtimer, hrtimer) + ctf_integer_hex(void *, function, hrtimer->function) + ctf_integer(s64, expires, + lttng_ktime_get_tv64(hrtimer_get_expires(hrtimer))) + ctf_integer(s64, softexpires, + lttng_ktime_get_tv64(hrtimer_get_softexpires(hrtimer))) ) ) @@ -162,9 +195,9 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_expire_entry, TP_ARGS(hrtimer, now), TP_FIELDS( - ctf_integer(void *, hrtimer, hrtimer) - ctf_integer(s64, now, now->tv64) - ctf_integer(void *, function, hrtimer->function) + ctf_integer_hex(void *, hrtimer, hrtimer) + ctf_integer(s64, now, lttng_ktime_get_tv64(*now)) + ctf_integer_hex(void *, function, hrtimer->function) ) ) @@ -175,7 +208,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(timer_hrtimer_class, TP_ARGS(hrtimer), TP_FIELDS( - ctf_integer(void *, hrtimer, hrtimer) + ctf_integer_hex(void *, hrtimer, hrtimer) ) ) @@ -258,4 +291,4 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire, #endif /* LTTNG_TRACE_TIMER_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include