Re: [PATCH v5 perf, bpf-next 3/7] perf, bpf: introduce PERF_RECORD_BPF_EVENT

From: Song Liu
Date: Wed Jan 09 2019 - 10:51:40 EST




> On Jan 9, 2019, at 4:41 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Tue, Jan 08, 2019 at 08:45:19PM +0000, Alexei Starovoitov wrote:
>> On 1/8/19 12:29 PM, Peter Zijlstra wrote:
>>> On Thu, Dec 20, 2018 at 10:29:00AM -0800, Song Liu wrote:
>>>> The following example shows kernel symbols for a BPF program with 7
>>>> sub programs:
>>>>
>>>> ffffffffa0257cf9 t bpf_prog_b07ccb89267cf242_F
>>>> ffffffffa02592e1 t bpf_prog_2dcecc18072623fc_F
>>>> ffffffffa025b0e9 t bpf_prog_bb7a405ebaec5d5c_F
>>>> ffffffffa025dd2c t bpf_prog_a7540d4a39ec1fc7_F
>>>> ffffffffa025fcca t bpf_prog_05762d4ade0e3737_F
>>>> ffffffffa026108f t bpf_prog_db4bd11e35df90d4_F
>>>> ffffffffa0263f00 t bpf_prog_89d64e4abf0f0126_F
>>>> ffffffffa0257cf9 t bpf_prog_ae31629322c4b018__dummy_tracepoi
>>>
>>> We should probably specify somewhere that the name can include a
>>> '[module]' part just like normal kallsyms. Even though you don't
>>> currently use that.
>>
>> there is no [module] equivalent in bpf land.
>
> I know; although you could consider each program it's own separate
> module. But what I meant was, we should probably document the name[]
> format somewhere, maybe in the PERF_RECORD_KSYMBOL comment.
>
> The "symbol [module]" syntax can be used to create a DSO sort key, so
> you could simply put in "[bpf]" for all BPF generated symbols and have
> everything BPF grouped in perf-report when sorted on DSO.

In current version, I put [bpf_prog] for bpf programs DSO. We can
probably add something to /proc/kallsyms as well. On the other hand,
"bpf_prog_<tag>_XXX" also indicates this is a BPF program.

Thanks,
Song