lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 24 May 2022 16:29:12 -0400
From:   Steven Rostedt <rostedt@...dmis.org>
To:     Wonhyuk Yang <vvghjk1234@...il.com>
Cc:     Ingo Molnar <mingo@...hat.com>, Baik Song An <bsahn@...i.re.kr>,
        Hong Yeon Kim <kimhy@...i.re.kr>,
        Taeung Song <taeung@...llinux.co.kr>, linuxgeek@...uxgeek.io,
        linux-kernel@...r.kernel.org, Tejun Heo <tj@...nel.org>
Subject: Re: [PATCH] workqueue: Fix type of cpu in trace event

On Wed,  4 May 2022 11:32:03 +0900
Wonhyuk Yang <vvghjk1234@...il.com> wrote:

> 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.
> 

I was going through my backlog of pending patches and came across this.
Note, that trace events are maintained by the subsystem they belong to.
This change is for workqueues, not tracing (as your subject correctly
states).

I Cc'd Tejun here as he maintains this code.

-- Steve


> $ cat /sys/kernel/debug/tracing/trace
> cat-1338  [002] ...: workqueue_queue_work: ... req_cpu=8192 cpu=-1
> 
> Cc: Baik Song An <bsahn@...i.re.kr>
> Cc: Hong Yeon Kim <kimhy@...i.re.kr>
> Cc: Taeung Song <taeung@...llinux.co.kr>
> Cc: linuxgeek@...uxgeek.io
> Signed-off-by: Wonhyuk Yang <vvghjk1234@...il.com>
> ---
>  include/trace/events/workqueue.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/include/trace/events/workqueue.h b/include/trace/events/workqueue.h
> index 6154a2e72bce..262d52021c23 100644
> --- a/include/trace/events/workqueue.h
> +++ b/include/trace/events/workqueue.h
> @@ -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)
>  );

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ