On Thu, 23 Apr 2020 11:01:39 -0300 Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > 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? No, if an inlined function is embedded in blacklisted areas, it also shows same "(null):(null)" without [2/3]. Reordering the patches is OK, but this is still an independent fix. Thank you, > > - 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@xxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx > > --- > > 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 -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>