[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20251008100611.6fb5f0b9d49c9d0c403e2670@kernel.org>
Date: Wed, 8 Oct 2025 10:06:11 +0900
From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
To: Ryan Chung <seokwoo.chung130@...il.com>
Cc: rostedt@...dmis.org, mathieu.desnoyers@...icios.com, shuah@...nel.org,
hca@...ux.ibm.com, corbet@....net, linux-trace-kernel@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-doc@...r.kernel.org
Subject: Re: [PATCH v3 1/5] docs: tracing: fprobe: document list filters and
:entry/:exit
On Sun, 5 Oct 2025 08:46:55 +0900
Ryan Chung <seokwoo.chung130@...il.com> wrote:
> Signed-off-by: Ryan Chung <seokwoo.chung130@...il.com>
> ---
> Documentation/trace/fprobetrace.rst | 27 +++++++++++++++++++++------
> 1 file changed, 21 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/trace/fprobetrace.rst b/Documentation/trace/fprobetrace.rst
> index b4c2ca3d02c1..629e2d7402bd 100644
> --- a/Documentation/trace/fprobetrace.rst
> +++ b/Documentation/trace/fprobetrace.rst
> @@ -25,21 +25,36 @@ Synopsis of fprobe-events
> -------------------------
> ::
>
> - f[:[GRP1/][EVENT1]] SYM [FETCHARGS] : Probe on function entry
> - f[MAXACTIVE][:[GRP1/][EVENT1]] SYM%return [FETCHARGS] : Probe on function exit
> - t[:[GRP2/][EVENT2]] TRACEPOINT [FETCHARGS] : Probe on tracepoint
> + # fprobe (function entry/exit)
> + f[:[GRP1/][EVENT1]] SYM_OR_LIST[:entry|:exit] [FETCHARGS]
> +
> + # legacy single-symbol exit
> + f[MAXACTIVE][:[GRP1/][EVENT1]] SYM%return [FETCHARGS]
> +
> + # Probe on tracepoint
> + t[:[GRP2/][EVENT2]] TRACEPOINT [FETCHARGS]
>
> GRP1 : Group name for fprobe. If omitted, use "fprobes" for it.
> GRP2 : Group name for tprobe. If omitted, use "tracepoints" for it.
> - EVENT1 : Event name for fprobe. If omitted, the event name is
> - "SYM__entry" or "SYM__exit".
> + EVENT1 : Event name for fprobe. If omitted,
> + - For a single literal symbol, the event name is
> + "SYM__entry" or "SYM__exit".
> + - For a *list or any wildcard*, an explicit [GRP1/][EVENT1]
> + is required; otherwise the parser rejects it.
> EVENT2 : Event name for tprobe. If omitted, the event name is
> the same as "TRACEPOINT", but if the "TRACEPOINT" starts
> with a digit character, "_TRACEPOINT" is used.
> MAXACTIVE : Maximum number of instances of the specified function that
> can be probed simultaneously, or 0 for the default value
> as defined in Documentation/trace/fprobe.rst
> -
> + SYM_OR_LIST : Either a single symbol, or a comma-separated list of
> + include/exclude patterns:
> + - Tokens are matched as symbols; wildcards may be used.
> + - Tokens prefixed with '!' are exclusions.
> + - Examples:
> + foo # single literal (entry)
> + foo:exit # single literal exit
> + foo%return # legacy single-symbol exit
So you can explain it in syntax formats:
Single function (including wildcard):
f[:[GRP1/][EVENT1]] SYM[%return] [FETCHARGS]
Multiple functions:
f[:[GRP1/]EVENT3 SYM[,[!]SYM[,...]][:entry|:exit] [FETCHARGS]
Where,
- SYM prefixed with '!' are exclusions.
- ":entry" suffix means it probes entry of given symbols. (default)
- ":exit" suffix means it probes exit of given symbols.
- "%return" suffix means it probes exit of SYM (single symbol).
Thank you,
> FETCHARGS : Arguments. Each probe can have up to 128 args.
> ARG : Fetch "ARG" function argument using BTF (only for function
> entry or tracepoint.) (\*1)
> --
> 2.43.0
>
--
Masami Hiramatsu (Google) <mhiramat@...nel.org>
Powered by blists - more mailing lists