Re: [PATCH] tracing/synthetic: Print out u64 values properly

2023-09-15 Thread Steven Rostedt
On Fri, 15 Sep 2023 23:16:13 +0900
Masami Hiramatsu (Google)  wrote:

> > Anyways, that requires a new patch to be created on top as this has hit 
> > the mainline as a fix already.  
> 
> Oops, I missed that.

Yeah, I took that because it matched the original case, which was it being u64.

-- Steve


Re: [PATCH] tracing/synthetic: Print out u64 values properly

2023-09-15 Thread Google
Hi Tero,

On Fri, 15 Sep 2023 13:46:45 +0300
Tero Kristo  wrote:

> Hi Masami,
> 
> On 15/09/2023 09:01, Masami Hiramatsu (Google) wrote:
> > Hi Tero,
> >
> > On Mon, 11 Sep 2023 17:17:04 +0300
> > Tero Kristo  wrote:
> >
> >> The synth traces incorrectly print pointer to the synthetic event values
> >> instead of the actual value when using u64 type. Fix by addressing the
> >> contents of the union properly.
> > Thanks for pointing it out.
> > But I would like to see a new "case 8:" print code instead of changing
> > "default". Can you keep the default as it is and add "case 8:" case there?
> 
> Are you sure about that? I think keeping the default as is would just 
> print out a useless pointer value to the synth event itself (which is 
> what happened with u64 type.)

Yeah, I think the "default" here means no correct way to show the value
in it. So anyway, if we know the size is 8 and there is val->as_u64,
there should be "case 8:".

> 
> Anyways, that requires a new patch to be created on top as this has hit 
> the mainline as a fix already.

Oops, I missed that.

Thank you!

> 
> -Tero
> 
> 
> >
> > Thanks,
> >
> >> Fixes: ddeea494a16f ("tracing/synthetic: Use union instead of casts")
> >> Cc: sta...@vger.kernel.org
> >> Signed-off-by: Tero Kristo 
> >> ---
> >>   kernel/trace/trace_events_synth.c | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/kernel/trace/trace_events_synth.c 
> >> b/kernel/trace/trace_events_synth.c
> >> index 7fff8235075f..070365959c0a 100644
> >> --- a/kernel/trace/trace_events_synth.c
> >> +++ b/kernel/trace/trace_events_synth.c
> >> @@ -337,7 +337,7 @@ static void print_synth_event_num_val(struct trace_seq 
> >> *s,
> >>break;
> >>   
> >>default:
> >> -  trace_seq_printf(s, print_fmt, name, val, space);
> >> +  trace_seq_printf(s, print_fmt, name, val->as_u64, space);
> >>break;
> >>}
> >>   }
> >> -- 
> >> 2.40.1
> >>
> >


-- 
Masami Hiramatsu (Google) 


Re: [PATCH] tracing/synthetic: Print out u64 values properly

2023-09-15 Thread Tero Kristo

Hi Masami,

On 15/09/2023 09:01, Masami Hiramatsu (Google) wrote:

Hi Tero,

On Mon, 11 Sep 2023 17:17:04 +0300
Tero Kristo  wrote:


The synth traces incorrectly print pointer to the synthetic event values
instead of the actual value when using u64 type. Fix by addressing the
contents of the union properly.

Thanks for pointing it out.
But I would like to see a new "case 8:" print code instead of changing
"default". Can you keep the default as it is and add "case 8:" case there?


Are you sure about that? I think keeping the default as is would just 
print out a useless pointer value to the synth event itself (which is 
what happened with u64 type.)


Anyways, that requires a new patch to be created on top as this has hit 
the mainline as a fix already.


-Tero




Thanks,


Fixes: ddeea494a16f ("tracing/synthetic: Use union instead of casts")
Cc: sta...@vger.kernel.org
Signed-off-by: Tero Kristo 
---
  kernel/trace/trace_events_synth.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_events_synth.c 
b/kernel/trace/trace_events_synth.c
index 7fff8235075f..070365959c0a 100644
--- a/kernel/trace/trace_events_synth.c
+++ b/kernel/trace/trace_events_synth.c
@@ -337,7 +337,7 @@ static void print_synth_event_num_val(struct trace_seq *s,
break;
  
  	default:

-   trace_seq_printf(s, print_fmt, name, val, space);
+   trace_seq_printf(s, print_fmt, name, val->as_u64, space);
break;
}
  }
--
2.40.1





Re: [PATCH] tracing/synthetic: Print out u64 values properly

2023-09-15 Thread Google
Hi Tero,

On Mon, 11 Sep 2023 17:17:04 +0300
Tero Kristo  wrote:

> The synth traces incorrectly print pointer to the synthetic event values
> instead of the actual value when using u64 type. Fix by addressing the
> contents of the union properly.

Thanks for pointing it out.
But I would like to see a new "case 8:" print code instead of changing
"default". Can you keep the default as it is and add "case 8:" case there?

Thanks,

> 
> Fixes: ddeea494a16f ("tracing/synthetic: Use union instead of casts")
> Cc: sta...@vger.kernel.org
> Signed-off-by: Tero Kristo 
> ---
>  kernel/trace/trace_events_synth.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_events_synth.c 
> b/kernel/trace/trace_events_synth.c
> index 7fff8235075f..070365959c0a 100644
> --- a/kernel/trace/trace_events_synth.c
> +++ b/kernel/trace/trace_events_synth.c
> @@ -337,7 +337,7 @@ static void print_synth_event_num_val(struct trace_seq *s,
>   break;
>  
>   default:
> - trace_seq_printf(s, print_fmt, name, val, space);
> + trace_seq_printf(s, print_fmt, name, val->as_u64, space);
>   break;
>   }
>  }
> -- 
> 2.40.1
> 


-- 
Masami Hiramatsu (Google) 


[PATCH] tracing/synthetic: Print out u64 values properly

2023-09-11 Thread Tero Kristo
The synth traces incorrectly print pointer to the synthetic event values
instead of the actual value when using u64 type. Fix by addressing the
contents of the union properly.

Fixes: ddeea494a16f ("tracing/synthetic: Use union instead of casts")
Cc: sta...@vger.kernel.org
Signed-off-by: Tero Kristo 
---
 kernel/trace/trace_events_synth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_events_synth.c 
b/kernel/trace/trace_events_synth.c
index 7fff8235075f..070365959c0a 100644
--- a/kernel/trace/trace_events_synth.c
+++ b/kernel/trace/trace_events_synth.c
@@ -337,7 +337,7 @@ static void print_synth_event_num_val(struct trace_seq *s,
break;
 
default:
-   trace_seq_printf(s, print_fmt, name, val, space);
+   trace_seq_printf(s, print_fmt, name, val->as_u64, space);
break;
}
 }
-- 
2.40.1