[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <36f98237-30bf-d01d-cff1-de8a9add77b8@fb.com>
Date: Wed, 21 Nov 2018 22:49:37 +0000
From: Alexei Starovoitov <ast@...com>
To: Song Liu <songliubraving@...com>,
Alexei Starovoitov <alexei.starovoitov@...il.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"ast@...nel.org" <ast@...nel.org>,
"daniel@...earbox.net" <daniel@...earbox.net>,
"acme@...nel.org" <acme@...nel.org>,
"peterz@...radead.org" <peterz@...radead.org>,
Kernel Team <Kernel-team@...com>
Subject: Re: [PATCH perf,bpf 5/5] perf util: generate bpf_prog_info_event for
short living bpf programs
On 11/21/18 2:35 PM, Song Liu wrote:
>
>
>> On Nov 21, 2018, at 2:11 PM, Alexei Starovoitov <alexei.starovoitov@...il.com> wrote:
>>
>> On Wed, Nov 21, 2018 at 11:55:02AM -0800, Song Liu wrote:
>>> This patch enables perf-record to listen to bpf_event and generate
>>> bpf_prog_info_event for bpf programs loaded and unloaded during
>>> perf-record run.
>>>
>>> To minimize latency between bpf_event and following bpf calls, separate
>>> mmap with watermark of 1 is created to process these vip events. Then
>>> a separate dummy event is attached to the special mmap. A separate thread
>>> is used to only poll bpf events.
>>>
>>> By default, perf-record will listen to bpf_event. Option no-bpf-event is
>>> added in case the user would opt out.
>>
>> I think only default perf-record for sampling should include it.
>> perf record -e for tracepoints, kprobes and anything else should imply no-bpf-event.
>>
>
> Maybe something like
>
> if (software_event && ! -g)
> no_bpf_event = true;
>
> ?
>
> This will allow attaching kprobe on bpf helper and see which bpf program
> calls it.
right. good point about -g (I assume you mean callgraph collection).
Indeed, if bpf progs unload before perf-report they won't be seen in
callgraphs too even for sw events, so we have to enable bpf_events
to see them.
Powered by blists - more mailing lists