X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Ftimer.h;h=2dbcf4b505f46061852736992b96a64f8cdf9187;hb=5873cbc67601a95b53e8c87fbeafb31910485fd0;hp=6f0cb7f333fdf5bd5bade568df9e4010bdf8fc7d;hpb=5a32ce54ebf73b297a0bbccfe88c36994e15dcc4;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h index 6f0cb7f3..2dbcf4b5 100644 --- a/instrumentation/events/lttng-module/timer.h +++ b/instrumentation/events/lttng-module/timer.h @@ -10,17 +10,17 @@ #define _TRACE_TIMER_DEF_ #include #include -#include +#include struct timer_list; #endif /* _TRACE_TIMER_DEF_ */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) #define lttng_ktime_get_tv64(kt) (kt) -#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */ +#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ #define lttng_ktime_get_tv64(kt) ((kt).tv64) -#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */ +#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ LTTNG_TRACEPOINT_EVENT_CLASS(timer_class, @@ -44,7 +44,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init, TP_ARGS(timer) ) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0) || \ + LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0)) /** * timer_start - called when the timer is started * @timer: pointer to struct timer_list @@ -66,7 +67,7 @@ LTTNG_TRACEPOINT_EVENT(timer_start, ctf_integer(unsigned int, flags, flags) ) ) -#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */ +#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */ /** * timer_start - called when the timer is started * @timer: pointer to struct timer_list @@ -85,8 +86,29 @@ LTTNG_TRACEPOINT_EVENT(timer_start, ctf_integer(unsigned long, now, jiffies) ) ) -#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */ +#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */ +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0)) +/** + * timer_expire_entry - called immediately before the timer callback + * @timer: pointer to struct timer_list + * + * Allows to determine the timer latency. + */ +LTTNG_TRACEPOINT_EVENT(timer_expire_entry, + + TP_PROTO(struct timer_list *timer, unsigned long baseclk), + + TP_ARGS(timer, baseclk), + + TP_FIELDS( + ctf_integer_hex(void *, timer, timer) + ctf_integer(unsigned long, now, jiffies) + ctf_integer_hex(void *, function, timer->function) + ctf_integer(unsigned long, baseclk, baseclk) + ) +) +#else /** * timer_expire_entry - called immediately before the timer callback * @timer: pointer to struct timer_list @@ -105,6 +127,7 @@ LTTNG_TRACEPOINT_EVENT(timer_expire_entry, ctf_integer_hex(void *, function, timer->function) ) ) +#endif /** * timer_expire_exit - called immediately after the timer callback returns @@ -160,7 +183,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_init, * hrtimer_start - called when the hrtimer is started * @timer: pointer to struct hrtimer */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0) || \ +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,16,0) || \ LTTNG_RT_KERNEL_RANGE(4,14,0,0, 4,15,0,0)) LTTNG_TRACEPOINT_EVENT_MAP(hrtimer_start, @@ -270,7 +293,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(timer_hrtimer_class, hrtimer_cancel, * zero, otherwise it is started * @expires: the itimers expiry time */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0)) +LTTNG_TRACEPOINT_EVENT_MAP(itimer_state, + + timer_itimer_state, + + TP_PROTO(int which, const struct itimerspec64 *const value, + unsigned long long expires), + + TP_ARGS(which, value, expires), + + TP_FIELDS( + ctf_integer(int, which, which) + ctf_integer(unsigned long long, expires, expires) + ctf_integer(long, value_sec, value->it_value.tv_sec) + ctf_integer(long, value_nsec, value->it_value.tv_nsec) + ctf_integer(long, interval_sec, value->it_interval.tv_sec) + ctf_integer(long, interval_nsec, value->it_interval.tv_nsec) + ) +) +#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) LTTNG_TRACEPOINT_EVENT_MAP(itimer_state, timer_itimer_state, @@ -289,7 +331,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_state, ctf_integer(long, interval_usec, value->it_interval.tv_usec) ) ) -#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */ +#else /* if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */ LTTNG_TRACEPOINT_EVENT_MAP(itimer_state, timer_itimer_state, @@ -308,7 +350,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_state, ctf_integer(long, interval_usec, value->it_interval.tv_usec) ) ) -#endif /* #else (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */ +#endif /* #else (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */ /** * itimer_expire - called when itimer expires @@ -316,7 +358,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_state, * @pid: pid of the process which owns the timer * @now: current time, used to calculate the latency of itimer */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire, timer_itimer_expire, @@ -331,7 +373,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire, ctf_integer(unsigned long long, now, now) ) ) -#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */ +#else /* if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */ LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire, timer_itimer_expire, @@ -346,7 +388,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(itimer_expire, ctf_integer(cputime_t, now, now) ) ) -#endif /* #else (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */ +#endif /* #else (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */ #endif /* LTTNG_TRACE_TIMER_H */