Re: [PATCH v7 perf, bpf-next 7/8] perf util: handle PERF_RECORD_BPF_EVENT

From: Arnaldo Carvalho de Melo
Date: Mon Jan 14 2019 - 12:12:25 EST


Em Thu, Jan 10, 2019 at 04:19:32PM -0800, Song Liu escreveu:
> This patch adds basic handling of PERF_RECORD_BPF_EVENT.
> Tracking of PERF_RECORD_BPF_EVENT is OFF by default. Option --bpf-event
> is added to turn it on.
>
> Signed-off-by: Song Liu <songliubraving@xxxxxx>

Please add the following patch to your tree for the next revision:

commit 11860cb0ca8a5013c4b9dd8654dccf485ad7a61c
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Mon Jan 14 12:19:34 2019 -0300

perf top: Synthesize BPF events for pre-existing loaded BPF programs

So that we can resolve symbols and map names.

Cc: Song Liu <songliubraving@xxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: kernel-team@xxxxxx
Cc: netdev@xxxxxxxxxxxxxxx
Link: https://lkml.kernel.org/n/tip-h3loibff6htedj43q7uinon0@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index f64e312db787..5a486d4de56e 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -22,6 +22,7 @@
#include "perf.h"

#include "util/annotate.h"
+#include "util/bpf-event.h"
#include "util/config.h"
#include "util/color.h"
#include "util/drv_configs.h"
@@ -1215,6 +1216,12 @@ static int __cmd_top(struct perf_top *top)

init_process_thread(top);

+ ret = perf_event__synthesize_bpf_events(&top->tool, perf_event__process,
+ &top->session->machines.host,
+ &top->record_opts);
+ if (ret < 0)
+ pr_warning("Couldn't synthesize bpf events.\n");
+
machine__synthesize_threads(&top->session->machines.host, &opts->target,
top->evlist->threads, false,
top->nr_threads_synthesize);