62 lines · 1.2 KB · C
RawDownload
#undef TRACE_SYSTEM#define TRACE_SYSTEM workqueue #if !defined(_TRACE_WORKQUEUE_H) || defined(TRACE_HEADER_MULTI_READ)#define _TRACE_WORKQUEUE_H #include <linux/tracepoint.h>#include <linux/workqueue.h> /** * workqueue_execute_start - called immediately before the workqueue callback * @work:	pointer to struct work_struct * * Allows to track workqueue execution. */TRACE_EVENT(workqueue_execute_start, 	TP_PROTO(struct work_struct *work), 	TP_ARGS(work), 	TP_STRUCT__entry(		__field( void *,	work	)		__field( void *,	function)	), 	TP_fast_assign(		__entry->work		= work;		__entry->function	= work->func;	), 	TP_printk("work struct %p: function %pf", __entry->work, __entry->function)); /** * workqueue_execute_end - called immediately before the workqueue callback * @work:	pointer to struct work_struct * * Allows to track workqueue execution. */TRACE_EVENT(workqueue_execute_end, 	TP_PROTO(struct work_struct *work), 	TP_ARGS(work), 	TP_STRUCT__entry(		__field( void *,	work	)	), 	TP_fast_assign(		__entry->work		= work;	), 	TP_printk("work struct %p", __entry->work));  #endif /*  _TRACE_WORKQUEUE_H */ /* This part must be outside protection */#include <trace/define_trace.h>