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

From: Jiri Olsa
Date: Tue Mar 12 2019 - 09:10:33 EST


On Mon, Mar 11, 2019 at 10:30:43PM -0700, Song Liu wrote:

SNIP

> +static void print_bpf_prog_info(struct feat_fd *ff, FILE *fp)
> +{
> + struct perf_env *env = &ff->ph->env;
> + struct rb_root *root;
> + struct rb_node *next;
> +
> + down_read(&env->bpf_progs.lock);
> +
> + root = &env->bpf_progs.infos;
> + next = rb_first(root);
> +
> + while (next) {
> + struct bpf_prog_info_node *node;
> +
> + node = rb_entry(next, struct bpf_prog_info_node, rb_node);
> + next = rb_next(&node->rb_node);
> + fprintf(fp, "# bpf_prog_info of id %u\n",
> + node->info_linear->info.id);

so report displays bpf prog dso/name like:

0.02% ls bpf_prog_c80ffe554aba1bec_syscall_enter_o [k] bpf_prog_c80ffe554aba1bec_syscall_enter_o â

and 'perf report --header-only -I' shows:


# bpf_prog_info of id 17
# bpf_prog_info of id 18
# bpf_prog_info of id 19
# bpf_prog_info of id 20
# bpf_prog_info of id 21
# bpf_prog_info of id 22
# bpf_prog_info of id 25
# bpf_prog_info of id 26
# bpf_prog_info of id 34
# bpf_prog_info of id 35

could we have something more detailed like bpftool output:

34: tracepoint name syscall_enter_o tag c80ffe554aba1bec gpl
loaded_at 2019-03-12T14:02:03+0100 uid 0
xlated 360B jited 232B memlock 4096B map_ids 30

35: tracepoint name syscall_enter_o tag ada5ccbe5576399c gpl
loaded_at 2019-03-12T14:02:03+0100 uid 0
xlated 352B jited 228B memlock 4096B map_ids 30


could be on top of this patchset

jirka