Re: [PATCH v9 perf,bpf 09/15] perf, bpf: save btf information as headers to perf.data

From: Song Liu
Date: Fri Mar 15 2019 - 15:32:31 EST


Sorry for replying from the phone.

Sent from my iPhone

> On Mar 15, 2019, at 12:26 PM, Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote:
>
> Em Fri, Mar 15, 2019 at 04:06:51PM -0300, Arnaldo Carvalho de Melo escreveu:
>> And yes, there are BPF programs with BTF information associated:
>
>> [root@quaco perf]# bpftool map dump pids_filtered
>> [{
>> "key": 2592,
>> "value": true
>> },{
>> "key": 20511,
>> "value": true
>> }
>> ]
>> [root@quaco perf]#
>
>> I.e. bpftool can find the BTF info and thus is able to show the
>> 'pids_filtered' map keys and values pretty printed, not just as hex raw
>> data.
>
>> I'm trying to find out why 'bpftool map dump' finds the BTF info while
>> perf_event__synthesize_one_bpf_prog() doesn't.
>
> Humm, the BTF info above is for BPF _maps_ not for _programs_, I think
> you haven't added BTF info for maps in the perf.data header, right?
>
> - Arnaldo

Thatâs right. We iterate all BPF programs, and fetch BTF referred by the programs.

Thanks,
Song