Messages in this thread Patch in this message | | | Date | Tue, 7 May 2019 10:18:00 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH 10/12] perf script: Add --show-bpf-events to show eBPF related events |
| |
On Mon, May 06, 2019 at 09:42:44PM +0000, Song Liu wrote:
SNIP
> > +static int > > +process_bpf_events(struct perf_tool *tool __maybe_unused, > > + union perf_event *event, > > + struct perf_sample *sample, > > + struct machine *machine) > > +{ > > + struct thread *thread; > > + struct perf_script *script = container_of(tool, struct perf_script, tool); > > + struct perf_session *session = script->session; > > + struct perf_evsel *evsel = perf_evlist__id2evsel(session->evlist, sample->id); > > + > > + if (machine__process_ksymbol(machine, event, sample) < 0) > > + return -1; > > + > > + if (!evsel->attr.sample_id_all) { > > + perf_event__fprintf(event, stdout); > > + return 0; > > + } > > + > > + thread = machine__findnew_thread(machine, sample->pid, sample->tid); > > + if (thread == NULL) { > > + pr_debug("problem processing MMAP event, skipping it.\n"); > > + return -1; > > + } > > + > > + if (!filter_cpu(sample)) { > > + perf_sample__fprintf_start(sample, thread, evsel, > > + event->header.type, stdout); > > + perf_event__fprintf(event, stdout); > > + } > > + > > + thread__put(thread); > > + return 0; > > +} > > + > > static void sig_handler(int sig __maybe_unused) > > { > > session_done = 1; > > @@ -2420,6 +2456,10 @@ static int __cmd_script(struct perf_script *script) > > script->tool.ordered_events = false; > > script->tool.finished_round = process_finished_round_event; > > } > > + if (script->show_bpf_events) { > > + script->tool.ksymbol = process_bpf_events; > > + script->tool.bpf_event = process_bpf_events; > > Why do we need both set to process_bpf_events?
--show-*-events option is there to display all the related events for given '*'
we want to display both ksymbol and bpf_event in here, process_bpf_events takes care of it for both of them
thanks, jirka
| |