lkml.org 
[lkml]   [2021]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 2/2] tracing: Allow execnames to be passed as args for synthetic events
On Thu, 22 Jul 2021 12:32:34 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> On Fri, 23 Jul 2021 01:19:35 +0900
> Masami Hiramatsu <mhiramat@kernel.org> wrote:
>
> > > +/* Convert a var that points to common_pid.execname to a string */
> > > +static void update_var_execname(struct hist_field *hist_field)
> > > +{
> > > + hist_field->flags = HIST_FIELD_FL_STRING | HIST_FIELD_FL_VAR |
> > > + HIST_FIELD_FL_EXECNAME;
> > > + hist_field->size = MAX_FILTER_STR_VAL;
> > > + hist_field->is_signed = 0;
> > > +
> > > + kfree_const(hist_field->type);
> > > + hist_field->type = "char[]";
> > > +
> > > + hist_field->fn = hist_field_execname;
> > > +}
> >
> > Hmm, this is a bit ad-hoc.
> >
> > Can't this be done in the create_hist_field()? If you check 'var_name' and
> > flags & HIST_FIELD_FL_EXECNAME, you can do the same thing I think.
>
> Hi Masami,
>
> I originally tried that, but then found that it converted the pid over
> to it as well. So this must be done only for vars, and not only that, it
> needs to be done in a single place, because I was spending hours
> debugging it.

I understand. As far as I can see the code, it looks a bit complicated.
To simplify it, I need to understand the spec for "hist_field"
for keys and for vars. And maybe need to split both case.

> I found this to be the least intrusive solution.
>
> Maybe Tom has a better idea, but I don't have any more time to work on
> it, and I really want this feature for the next merge window.
>
> If you can make it work, and have time to play with it, I'm happy to
> take an alternative :-)

Me neither at least this moment, need more investigation. Let me try.

Thank you,

--
Masami Hiramatsu <mhiramat@kernel.org>

\
 
 \ /
  Last update: 2021-07-23 03:12    [W:0.132 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site