[PATCH v11 perf, bpf-next 8/9] perf top: Synthesize BPF events for pre-existing loaded BPF programs

From: Song Liu
Date: Thu Jan 17 2019 - 11:16:16 EST


From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

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>
Signed-off-by: Song Liu <songliubraving@xxxxxx>
---
tools/perf/builtin-top.c | 7 +++++++
1 file changed, 7 insertions(+)

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);
--
2.17.1