[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <43b10ad23a80ee5ae9f10b6d47d7944b6b14a25d.camel@kernel.org>
Date: Mon, 12 Oct 2020 09:26:13 -0500
From: Tom Zanussi <zanussi@...nel.org>
To: Steven Rostedt <rostedt@...dmis.org>,
Axel Rasmussen <axelrasmussen@...gle.com>
Cc: Ingo Molnar <mingo@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Michel Lespinasse <walken@...gle.com>,
Vlastimil Babka <vbabka@...e.cz>,
Daniel Jordan <daniel.m.jordan@...cle.com>,
Laurent Dufour <ldufour@...ux.ibm.com>,
Jann Horn <jannh@...gle.com>,
Chinwen Chang <chinwen.chang@...iatek.com>,
Yafang Shao <laoar.shao@...il.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH v3 1/2] tracing: support "bool" type in synthetic trace
events
Hi Steve,
Looks ok to me.
Acked-by: Tom Zanussi <zanussi@...nel.org>
Thanks,
Tom
On Mon, 2020-10-12 at 10:15 -0400, Steven Rostedt wrote:
> Tom,
>
> Can you ack this patch for me?
>
> -- Steve
>
>
> On Fri, 9 Oct 2020 15:05:23 -0700
> Axel Rasmussen <axelrasmussen@...gle.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@...gle.com>
> > Signed-off-by: Axel Rasmussen <axelrasmussen@...gle.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
>
>
Powered by blists - more mailing lists