Re: [PATCH v4 perf,bpf 15/15] perf, bpf: save information about short living bpf programs

From: Song Liu
Date: Wed Feb 27 2019 - 12:43:05 EST




> On Feb 27, 2019, at 5:21 AM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> On Mon, Feb 25, 2019 at 04:20:19PM -0800, Song Liu wrote:
>
> SNIP
>
>> + btf_id = info_linear->info.btf_id;
>> +
>> + info_node = malloc(sizeof(struct bpf_prog_info_node));
>> + if (info_node) {
>> + info_node->info_linear = info_linear;
>> + perf_env__insert_bpf_prog_info(env, info_node);

Getting bpf_prog_info here.

>> + } else
>> + free(info_linear);
>> +
>> + if (btf_id == 0)
>> + goto out;
>> +
>> + if (btf__get_from_id(btf_id, &btf)) {
>> + pr_debug("%s: failed to get BTF of id %u, aborting\n",
>> + __func__, btf_id);
>> + goto out;
>> + }
>> + perf_env__fetch_btf(env, btf_id, btf);
>
> so is this the main reason we are doing this? getting the btf
> data for bpf prog ids and store them?

We are getting both bpf_prog_info (see above) and btf.

>
> please describe the whole bpf events/features data flow in
> changelog as I asked in previous email

I will add more details to the change log.

Thanks,
Song

>
> thanks,
> jirka