[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200423140139.GG19437@kernel.org>
Date: Thu, 23 Apr 2020 11:01:39 -0300
From: Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
To: Masami Hiramatsu <mhiramat@...nel.org>
Cc: Jiri Olsa <jolsa@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
stable@...r.kernel.org
Subject: Re: [PATCH 3/3] perf-probe: Do not show the skipped events
Em Thu, Apr 23, 2020 at 08:01:22PM +0900, Masami Hiramatsu escreveu:
> When a probe point is expanded to several places (like inlined) and
> if some of them are skipped because of blacklisted or __init function,
> those trace_events has no event name. It must be skipped while showing
> results.
>
> Without this fix, you can see "(null):(null)" on the list,
> ===========
Ok, you broke the patch in two, I think its better to combine both, ok?
- Arnaldo
> # ./perf probe request_resource
> reserve_setup is out of .text, skip it.
> Added new events:
> (null):(null) (on request_resource)
> probe:request_resource (on request_resource)
>
> You can now use it in all perf tools, such as:
>
> perf record -e probe:request_resource -aR sleep 1
>
> ===========
>
> With this fix, it is ignored.
> ===========
> # ./perf probe request_resource
> reserve_setup is out of .text, skip it.
> Added new events:
> probe:request_resource (on request_resource)
>
> You can now use it in all perf tools, such as:
>
> perf record -e probe:request_resource -aR sleep 1
>
> ===========
>
> Fixes: 5a51fcd1f30c ("perf probe: Skip kernel symbols which is out of .text")
> Signed-off-by: Masami Hiramatsu <mhiramat@...nel.org>
> Cc: stable@...r.kernel.org
> ---
> tools/perf/builtin-probe.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
> index 70548df2abb9..6b1507566770 100644
> --- a/tools/perf/builtin-probe.c
> +++ b/tools/perf/builtin-probe.c
> @@ -364,6 +364,9 @@ static int perf_add_probe_events(struct perf_probe_event *pevs, int npevs)
>
> for (k = 0; k < pev->ntevs; k++) {
> struct probe_trace_event *tev = &pev->tevs[k];
> + /* Skipped events have no event name */
> + if (!tev->event)
> + continue;
>
> /* We use tev's name for showing new events */
> show_perf_probe_event(tev->group, tev->event, pev,
>
--
- Arnaldo
Powered by blists - more mailing lists