Re: [PATCH 0/3] support '%pd' and '%pD' for print file name

From: Google
Date: Sat Jan 20 2024 - 02:15:45 EST


On Fri, 19 Jan 2024 10:52:43 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Fri, 19 Jan 2024 23:43:56 +0900
> Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:
>
> > Thanks for your proposal!
> >
> > Generically, I think this type of hack is not good for the tracing
> > because there are already some ways to do that. e.g.
> > - Use perf probe to specify dentry->name:string or file->name:string
> > - Use BTF to specify in the same way (but only for function entry)
> > And those are more obvious what it does.
> >
> > However, if this is implemented in more generic syntax, it will be
> > acceptable.
> > For example, type specifying with "arg1:printfmt(%pD)" will be
> > more generic because it is apparently one of the printfmt and output
> > string. Or, maybe we can just allow to use ":%pD" as a fetch type
> > (start with '%' means the printfmt)
>
> Yes, I like this idea a lot. Please add the '%' keyword/token to change how
> to display this in the print format.
>
> We may need to add more than one token though. Is that supported?
>
> $arg1:u32:%08x
>
> or that could also be:
>
> $arg1:%08x:u32

No, not yet. But I rather like comma separated.

$arg1:u32,%08x

Hm, this needs more changes, like a new type parser. And it will be
a option of the default type.

Thank you,

>
> That is, the order should not be important.
>
> Thoughts?
>
> -- Steve
>
>
> >
> > Also, could you update readme_msg[] in kernel/trace/trace.c if
> > you add a type, and add a testcase of selftests/ftrace, for this
> > feature? Documentation should also be updated with more syntax
> > information.
>


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>