X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fworkqueue.h;h=e0ef9178d8b4e3347e582f4985554759eb0ae7c2;hb=53f94f76f992c775a128bf77356fba1b0e66df79;hp=8393a3311440e47cbece61a92e3a9d583b3236e4;hpb=3bc29f0a41b3c803245b845db2e1909042e72e9c;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/workqueue.h b/instrumentation/events/lttng-module/workqueue.h index 8393a331..e0ef9178 100644 --- a/instrumentation/events/lttng-module/workqueue.h +++ b/instrumentation/events/lttng-module/workqueue.h @@ -1,15 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM workqueue #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 -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)) - #ifndef _TRACE_WORKQUEUE_DEF_ #define _TRACE_WORKQUEUE_DEF_ @@ -24,18 +23,11 @@ LTTNG_TRACEPOINT_EVENT_CLASS(workqueue_work, TP_ARGS(work), - TP_STRUCT__entry( - __field( void *, work ) - ), - - TP_fast_assign( - tp_assign(work, work) - ), - - TP_printk("work struct %p", __entry->work) + TP_FIELDS( + ctf_integer_hex(void *, work, work) + ) ) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) /** * workqueue_queue_work - called when a work gets queued * @req_cpu: the requested cpu @@ -60,21 +52,11 @@ LTTNG_TRACEPOINT_EVENT(workqueue_queue_work, TP_ARGS(req_cpu, cwq, work), #endif - TP_STRUCT__entry( - __field( void *, work ) - __field( void *, function) - __field( unsigned int, req_cpu ) - ), - - TP_fast_assign( - tp_assign(work, work) - tp_assign(function, work->func) - tp_assign(req_cpu, req_cpu) - ), - - TP_printk("work struct=%p function=%pf req_cpu=%u", - __entry->work, __entry->function, - __entry->req_cpu) + TP_FIELDS( + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, work->func) + ctf_integer(unsigned int, req_cpu, req_cpu) + ) ) /** @@ -91,7 +73,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_activate_work, TP_ARGS(work) ) -#endif /** * workqueue_execute_start - called immediately before the workqueue callback @@ -105,17 +86,10 @@ LTTNG_TRACEPOINT_EVENT(workqueue_execute_start, TP_ARGS(work), - TP_STRUCT__entry( - __field( void *, work ) - __field( void *, function) - ), - - TP_fast_assign( - tp_assign(work, work) - tp_assign(function, work->func) - ), - - TP_printk("work struct %p: function %pf", __entry->work, __entry->function) + TP_FIELDS( + ctf_integer_hex(void *, work, work) + ctf_integer_hex(void *, function, work->func) + ) ) /** @@ -131,89 +105,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue_work, workqueue_execute_end, TP_ARGS(work) ) -#else - -LTTNG_TRACEPOINT_EVENT_CLASS(workqueue, - - TP_PROTO(struct task_struct *wq_thread, struct work_struct *work), - - TP_ARGS(wq_thread, work), - - TP_STRUCT__entry( - __array(char, thread_comm, TASK_COMM_LEN) - __field(pid_t, thread_pid) - __field(work_func_t, func) - ), - - TP_fast_assign( - tp_memcpy(thread_comm, wq_thread->comm, TASK_COMM_LEN) - tp_assign(thread_pid, wq_thread->pid) - tp_assign(func, work->func) - ), - - TP_printk("thread=%s:%d func=%pf", __entry->thread_comm, - __entry->thread_pid, __entry->func) -) - -LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue, workqueue_insertion, - - TP_PROTO(struct task_struct *wq_thread, struct work_struct *work), - - TP_ARGS(wq_thread, work) -) - -LTTNG_TRACEPOINT_EVENT_INSTANCE(workqueue, workqueue_execution, - - TP_PROTO(struct task_struct *wq_thread, struct work_struct *work), - - TP_ARGS(wq_thread, work) -) - -/* Trace the creation of one workqueue thread on a cpu */ -LTTNG_TRACEPOINT_EVENT(workqueue_creation, - - TP_PROTO(struct task_struct *wq_thread, int cpu), - - TP_ARGS(wq_thread, cpu), - - TP_STRUCT__entry( - __array(char, thread_comm, TASK_COMM_LEN) - __field(pid_t, thread_pid) - __field(int, cpu) - ), - - TP_fast_assign( - tp_memcpy(thread_comm, wq_thread->comm, TASK_COMM_LEN) - tp_assign(thread_pid, wq_thread->pid) - tp_assign(cpu, cpu) - ), - - TP_printk("thread=%s:%d cpu=%d", __entry->thread_comm, - __entry->thread_pid, __entry->cpu) -) - -LTTNG_TRACEPOINT_EVENT(workqueue_destruction, - - TP_PROTO(struct task_struct *wq_thread), - - TP_ARGS(wq_thread), - - TP_STRUCT__entry( - __array(char, thread_comm, TASK_COMM_LEN) - __field(pid_t, thread_pid) - ), - - TP_fast_assign( - tp_memcpy(thread_comm, wq_thread->comm, TASK_COMM_LEN) - tp_assign(thread_pid, wq_thread->pid) - ), - - TP_printk("thread=%s:%d", __entry->thread_comm, __entry->thread_pid) -) - -#endif - #endif /* LTTNG_TRACE_WORKQUEUE_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include