X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Finstrumentation%2Fevents%2Fworkqueue.h;h=5693cf89c4685c7552fb91c31545622ea105447f;hb=526f13c844cd29f89bd3e924867d9ddfe3c40ade;hp=023b65a8d8df00b2f62b5ca6a29e57eda0ed8f86;hpb=b5d1c38665cd69d7d1c94231fe0609da5c8afbc3;p=lttng-modules.git diff --git a/include/instrumentation/events/workqueue.h b/include/instrumentation/events/workqueue.h index 023b65a8..5693cf89 100644 --- a/include/instrumentation/events/workqueue.h +++ b/include/instrumentation/events/workqueue.h @@ -28,10 +28,35 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, ) ) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0)) /** * workqueue_queue_work - called when a work gets queued * @req_cpu: the requested cpu - * @cwq: pointer to struct cpu_workqueue_struct + * @pwq: pointer to struct pool_workqueue + * @work: pointer to struct work_struct + * + * This event occurs when a work is queued immediately or once a + * delayed work is actually queued on a workqueue (ie: once the delay + * has been reached). + */ +LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, + + TP_PROTO(int req_cpu, struct pool_workqueue *pwq, + struct work_struct *work), + + TP_ARGS(req_cpu, pwq, work), + + TP_FIELDS( + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, work->func) + ctf_integer(int, req_cpu, req_cpu) + ) +) +#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0)) +/** + * workqueue_queue_work - called when a work gets queued + * @req_cpu: the requested cpu + * @pwq: pointer to struct pool_workqueue * @work: pointer to struct work_struct * * This event occurs when a work is queued immediately or once a @@ -40,17 +65,34 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, */ LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, -#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), TP_ARGS(req_cpu, pwq, work), + + TP_FIELDS( + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, work->func) + ctf_integer(unsigned int, req_cpu, req_cpu) + ) +) #else +/** + * workqueue_queue_work - called when a work gets queued + * @req_cpu: the requested cpu + * @cwq: pointer to struct cpu_workqueue_struct + * @work: pointer to struct work_struct + * + * This event occurs when a work is queued immediately or once a + * delayed work is actually queued on a workqueue (ie: once the delay + * has been reached). + */ +LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, + TP_PROTO(unsigned int req_cpu, struct cpu_workqueue_struct *cwq, struct work_struct *work), TP_ARGS(req_cpu, cwq, work), -#endif TP_FIELDS( ctf_integer_hex(void *, work, work) @@ -58,6 +100,7 @@ LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, ctf_integer(unsigned int, req_cpu, req_cpu) ) ) +#endif /** * workqueue_activate_work - called when a work gets activated