workqueue: Fix type of cpu in trace event
authorWonhyuk Yang <vvghjk1234@gmail.com>
Wed, 4 May 2022 02:32:03 +0000 (11:32 +0900)
committerTejun Heo <tj@kernel.org>
Tue, 7 Jun 2022 17:09:47 +0000 (07:09 -1000)
The trace event "workqueue_queue_work" use unsigned int type for
req_cpu, cpu. This casue confusing cpu number like below log.

$ cat /sys/kernel/debug/tracing/trace
cat-317  [001] ...: workqueue_queue_work: ... req_cpu=8192 cpu=4294967295

So, change unsigned type to signed type in the trace event. After
applying this patch, cpu number will be printed as -1 instead of
4294967295 as folllows.

$ cat /sys/kernel/debug/tracing/trace
cat-1338  [002] ...: workqueue_queue_work: ... req_cpu=8192 cpu=-1

Cc: Baik Song An <bsahn@etri.re.kr>
Cc: Hong Yeon Kim <kimhy@etri.re.kr>
Cc: Taeung Song <taeung@reallinux.co.kr>
Cc: linuxgeek@linuxgeek.io
Signed-off-by: Wonhyuk Yang <vvghjk1234@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/trace/events/workqueue.h

index 6154a2e..262d520 100644 (file)
@@ -22,7 +22,7 @@ struct pool_workqueue;
  */
 TRACE_EVENT(workqueue_queue_work,
 
-       TP_PROTO(unsigned int req_cpu, struct pool_workqueue *pwq,
+       TP_PROTO(int req_cpu, struct pool_workqueue *pwq,
                 struct work_struct *work),
 
        TP_ARGS(req_cpu, pwq, work),
@@ -31,8 +31,8 @@ TRACE_EVENT(workqueue_queue_work,
                __field( void *,        work    )
                __field( void *,        function)
                __string( workqueue,    pwq->wq->name)
-               __field( unsigned int,  req_cpu )
-               __field( unsigned int,  cpu     )
+               __field( int,   req_cpu )
+               __field( int,   cpu     )
        ),
 
        TP_fast_assign(
@@ -43,7 +43,7 @@ TRACE_EVENT(workqueue_queue_work,
                __entry->cpu            = pwq->pool->cpu;
        ),
 
-       TP_printk("work struct=%p function=%ps workqueue=%s req_cpu=%u cpu=%u",
+       TP_printk("work struct=%p function=%ps workqueue=%s req_cpu=%d cpu=%d",
                  __entry->work, __entry->function, __get_str(workqueue),
                  __entry->req_cpu, __entry->cpu)
 );