X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fworkqueue.h;h=367d42a5f3b319e4d0b8368a6db012a49dcedd41;hb=2d0428212cbfa3f8428feee160b095f48c2ac974;hp=e0ef9178d8b4e3347e582f4985554759eb0ae7c2;hpb=53f94f76f992c775a128bf77356fba1b0e66df79;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/workqueue.h b/instrumentation/events/lttng-module/workqueue.h index e0ef9178..367d42a5 100644 --- a/instrumentation/events/lttng-module/workqueue.h +++ b/instrumentation/events/lttng-module/workqueue.h @@ -7,7 +7,7 @@ #include #include -#include +#include #ifndef _TRACE_WORKQUEUE_DEF_ #define _TRACE_WORKQUEUE_DEF_ @@ -40,7 +40,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, */ LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0)) TP_PROTO(unsigned int req_cpu, struct pool_workqueue *pwq, struct work_struct *work), @@ -92,6 +92,26 @@ LTTNG_TRACEPOINT_EVENT(workqueue_execute_start, ) ) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0)) +/** + * workqueue_execute_end - called immediately after the workqueue callback + * @work: pointer to struct work_struct + * @function: pointer to worker function + * + * Allows to track workqueue execution. + */ +LTTNG_TRACEPOINT_EVENT(workqueue_execute_end, + + TP_PROTO(struct work_struct *work, work_func_t function), + + TP_ARGS(work, function), + + TP_FIELDS( + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, function) + ) +) +#else /** * workqueue_execute_end - called immediately after the workqueue callback * @work: pointer to struct work_struct @@ -104,6 +124,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_execute_end, TP_ARGS(work) ) +#endif #endif /* LTTNG_TRACE_WORKQUEUE_H */