X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fworkqueue.h;h=c958600c0abf7fe243cf06eb939ec7591602b16a;hb=c8d38a68e21703af9b2287120cab1a52d24db9f7;hp=3cdc7f9b279f02bb96465d74d0de7ec4d7bab191;hpb=f127e61ee231d002fb9a7803643a157e06f6d2e2;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/workqueue.h b/instrumentation/events/lttng-module/workqueue.h index 3cdc7f9b..c958600c 100644 --- a/instrumentation/events/lttng-module/workqueue.h +++ b/instrumentation/events/lttng-module/workqueue.h @@ -4,7 +4,7 @@ #if !defined(LTTNG_TRACE_WORKQUEUE_H) || defined(TRACE_HEADER_MULTI_READ) #define LTTNG_TRACE_WORKQUEUE_H -#include "../../../probes/lttng-tracepoint-event.h" +#include #include #include @@ -25,7 +25,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, TP_ARGS(work), TP_FIELDS( - ctf_integer(void *, work, work) + ctf_integer_hex(void *, work, work) ) ) @@ -55,8 +55,8 @@ LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, #endif TP_FIELDS( - ctf_integer(void *, work, work) - ctf_integer(void *, function, work->func) + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, work->func) ctf_integer(unsigned int, req_cpu, req_cpu) ) ) @@ -90,11 +90,31 @@ LTTNG_TRACEPOINT_EVENT(workqueue_execute_start, TP_ARGS(work), TP_FIELDS( - ctf_integer(void *, work, work) - ctf_integer(void *, function, work->func) + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, work->func) ) ) +#if (LINUX_VERSION_CODE >= 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 @@ -107,6 +127,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_execute_end, TP_ARGS(work) ) +#endif #else @@ -119,7 +140,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue, TP_FIELDS( ctf_array(char, thread_comm, wq_thread->comm, TASK_COMM_LEN) ctf_integer(pid_t, thread_pid, wq_thread->pid) - ctf_integer(work_func_t, func, work->func) + ctf_integer_hex(work_func_t, func, work->func) ) ) @@ -168,4 +189,4 @@ LTTNG_TRACEPOINT_EVENT(workqueue_destruction, #endif /* LTTNG_TRACE_WORKQUEUE_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include