[BUG] perf: intel_pt won't display kernel function

From: Jiri Olsa
Date: Wed Apr 03 2019 - 10:37:44 EST

perf script --call-trace stop working for me recently,
and displays only user space functions

I bisected that to:
7b612e291a5a perf tools: Synthesize PERF_RECORD_* for loaded BPF programs

data from following comands will display user space functions only:
# perf-with-kcore record pt -e intel_pt// -- ls
# perf-with-kcore script pt --call-trace

when I disable the bpf synthesizing (patch below), kernel functions are back

I guess the new events mess up with intel_pt decoder somehow


diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 4e2d953d4bc5..3daa78bc6549 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -1114,10 +1114,12 @@ static int record__synthesize(struct record *rec, bool tail)
return err;

+#if 0
err = perf_event__synthesize_bpf_events(session, process_synthesized_event,
machine, opts);
if (err < 0)
pr_warning("Couldn't synthesize bpf events.\n");

err = __machine__synthesize_threads(machine, tool, &opts->target, rec->evlist->threads,
process_synthesized_event, opts->sample_address,