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@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