On Fri, 8 Mar 2024 10:18:18 +0800 Kassey Li <quic_yinga...@quicinc.com> wrote:
> The trace event "workqueue_activate_work" only print work struct. > However, function is the region of interest in a full sequence of work. > Current workqueue_activate_work trace event output: > > workqueue_activate_work: work struct ffffff88b4a0f450 > > With this change, workqueue_activate_work will print the function name, > align with workqueue_queue_work/execute_start/execute_end event. > > workqueue_activate_work: work struct ffffff80413a78b8 > function=vmstat_update > > Signed-off-by: Kassey Li <quic_yinga...@quicinc.com> > --- > Changelog: > v1: > https://lore.kernel.org/all/20240308010929.1955339-1-quic_yinga...@quicinc.com/ > v1->v2: > - do not follow checkpatch in TRACE_EVENT() macros > - add sample "workqueue_activate_work: work struct ffffff80413a78b8 > function=vmstat_update" From a tracing POV, Reviewed-by: Steven Rostedt (Google) <rost...@goodmis.org> -- Steve > --- > include/trace/events/workqueue.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/include/trace/events/workqueue.h > b/include/trace/events/workqueue.h > index 262d52021c23..6ef5b7254070 100644 > --- a/include/trace/events/workqueue.h > +++ b/include/trace/events/workqueue.h > @@ -64,13 +64,15 @@ TRACE_EVENT(workqueue_activate_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", __entry->work) > + TP_printk("work struct %p function=%ps ", __entry->work, > __entry->function) > ); > > /**