lkml.org 
[lkml]   [2019]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 10/12] perf script: Add --show-bpf-events to show eBPF related events
Date


> On May 7, 2019, at 1:18 AM, Jiri Olsa <jolsa@redhat.com> wrote:
>
> 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

I see. Thanks for the explanation!

Song

\
 
 \ /
  Last update: 2019-05-07 20:28    [W:0.073 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site