Re: [PATCH 0/3] support '%pd' and '%pD' for print file name
From: Steven Rostedt
Date: Fri Jan 19 2024 - 10:51:29 EST
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
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.