lkml.org 
[lkml]   [2020]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 1/2] tracing: support "bool" type in synthetic trace events

Tom,

Can you ack this patch for me?

-- Steve


On Fri, 9 Oct 2020 15:05:23 -0700
Axel Rasmussen <axelrasmussen@google.com> wrote:

> It's common [1] to define tracepoint fields as "bool" when they contain
> a true / false value. Currently, defining a synthetic event with a
> "bool" field yields EINVAL. It's possible to work around this by using
> e.g. u8 (assuming sizeof(bool) is 1, and bool is unsigned; if either of
> these properties don't match, you get EINVAL [2]).
>
> Supporting "bool" explicitly makes hooking this up easier and more
> portable for userspace.
>
> [1]: grep -r "bool" include/trace/events/
> [2]: check_synth_field() in kernel/trace/trace_events_hist.c
>
> Acked-by: Michel Lespinasse <walken@google.com>
> Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
> ---
> kernel/trace/trace_events_synth.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/kernel/trace/trace_events_synth.c b/kernel/trace/trace_events_synth.c
> index 8e1974fbad0e..8f94c84349a6 100644
> --- a/kernel/trace/trace_events_synth.c
> +++ b/kernel/trace/trace_events_synth.c
> @@ -234,6 +234,8 @@ static int synth_field_size(char *type)
> size = sizeof(long);
> else if (strcmp(type, "unsigned long") == 0)
> size = sizeof(unsigned long);
> + else if (strcmp(type, "bool") == 0)
> + size = sizeof(bool);
> else if (strcmp(type, "pid_t") == 0)
> size = sizeof(pid_t);
> else if (strcmp(type, "gfp_t") == 0)
> @@ -276,6 +278,8 @@ static const char *synth_field_fmt(char *type)
> fmt = "%ld";
> else if (strcmp(type, "unsigned long") == 0)
> fmt = "%lu";
> + else if (strcmp(type, "bool") == 0)
> + fmt = "%d";
> else if (strcmp(type, "pid_t") == 0)
> fmt = "%d";
> else if (strcmp(type, "gfp_t") == 0)
> --
> 2.28.0.1011.ga647a8990f-goog

\
 
 \ /
  Last update: 2020-10-12 16:16    [W:0.096 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site