Re: [RFC PATCH 0/1] tracing: support dynamic string field types for synthetic events

From: Tom Zanussi
Date: Fri Sep 25 2020 - 16:17:39 EST


Hi Axel,

On Fri, 2020-09-25 at 12:08 -0700, Axel Rasmussen wrote:
> Hi Steven and Tom,
>
> In this thread: https://lkml.org/lkml/2020/9/17/1015 we discussed how
> to plumb
> dynamic strings into synthetic events. Tom, you proposed adding a new
> dynamic
> string type to synthetic event definition like "char foo[]".
>
> I'm sending this patch because it may be simpler than implementing
> that (I'm
> not too familiar with the tracing infrastructure, apologies if this
> is not
> true), and in my testing it seems sufficient to address my use case.
> I tested
> both setting up a synthetic event as Steven described in the other
> thread, as
> well as doing an analogous thing with a small bpftrace program, and
> both work as
> expected with this patch.
>
> This is because I happen to know there's an upper bound on the length
> of the
> string in question, so I can just define a "char memcg_path[256]" in
> the
> synthetic event, and I can be sure the string won't be truncated.
>
> Let me know what you think. Happy to drop this and wait for Tom's
> suggested
> approach instead.

Changing check_synth_field() is one of the things that will need to
change for this to work - I'm working on a patch but am kind of in the
middle of it, if you can wait - I expect to be able to post something
Monday...

Thanks,

Tom

>
> Axel Rasmussen (1):
> tracing: support dynamic string field types for synthetic events
>
> kernel/trace/trace_events_hist.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> --
> 2.28.0.681.g6f77f65b4e-goog
>