Linux Kernel
3.7.1
|
Go to the source code of this file.
Macros | |
#define | TRACE_SYSTEM workqueue |
#define | _TRACE_WORKQUEUE_H |
#define _TRACE_WORKQUEUE_H |
Definition at line 5 of file workqueue.h.
#define TRACE_SYSTEM workqueue |
Definition at line 2 of file workqueue.h.
DECLARE_EVENT_CLASS | ( | workqueue_work | , |
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) | |||
) |
DEFINE_EVENT | ( | workqueue_work | , |
workqueue_activate_work | , | ||
TP_PROTO(struct work_struct *work) | |||
) |
workqueue_activate_work - called when a work gets activated : pointer to struct work_struct
This event occurs when a queued work is put on the active queue, which happens immediately after queueing unless limit is reached.
DEFINE_EVENT | ( | workqueue_work | , |
workqueue_execute_end | , | ||
TP_PROTO(struct work_struct *work) | |||
) |
workqueue_execute_end - called immediately after the workqueue callback : pointer to struct work_struct
Allows to track workqueue execution.
TRACE_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) | , | ||
TP_STRUCT__entry(__field(void *, work) __field(void *, function) __field(void *, workqueue) __field(unsigned int, req_cpu) __field(unsigned int, cpu)) | , | ||
TP_fast_assign(__entry->work=work;__entry->function=work->func;__entry->workqueue=cwq->wq;__entry->req_cpu=req_cpu;__entry->cpu=cwq->pool->gcwq->cpu;) | , | ||
TP_printk("work struct=%p function=%pf workqueue=%p req_cpu=%u cpu=%u", __entry->work, __entry->function, __entry->workqueue, __entry->req_cpu, __entry->cpu) | |||
) |
workqueue_queue_work - called when a work gets queued : the requested cpu : pointer to struct cpu_workqueue_struct : 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).
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_start - called immediately before the workqueue callback : pointer to struct work_struct
Allows to track workqueue execution.