On 2024/3/8 9:50, Steven Rostedt wrote:
On Fri, 8 Mar 2024 09:09:29 +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.

checkpatch.pl will report below error for the space:

        ERROR: space prohibited after that open parenthesis '('
        #28: FILE: include/trace/events/workqueue.h:67:
        +               __field( void *,        function)

        total: 1 errors, 0 warnings, 16 lines checked

fix this error.

Signed-off-by: Kassey Li <quic_yinga...@quicinc.com>
---
  include/trace/events/workqueue.h | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/trace/events/workqueue.h b/include/trace/events/workqueue.h
index 262d52021c23..a42c1a293459 100644
--- a/include/trace/events/workqueue.h
+++ b/include/trace/events/workqueue.h
@@ -63,14 +63,16 @@ TRACE_EVENT(workqueue_activate_work,
        TP_ARGS(work),
TP_STRUCT__entry(
-               __field( void *,        work    )
+               __field(void *, work)
+               __field(void *, function)

Note, please do not follow checkpatch in TRACE_EVENT() macros. It simply
doesn't understand it. The above is supposed to be similar to structure
formatting.

ie:
        struct __entry {
                void            *work;
                void            *function;
        };

        TP_STRUCT__entry(
                __field( void *,        work            )
                __field( void *,        function        )
        ),

That looks much better.

-- Steve


thanks for the remind.
send out the v2 as your suggest:
https://lore.kernel.org/all/20240308021818.2306176-1-quic_yinga...@quicinc.com/

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)
  );
/**


Reply via email to