mirror of https://gitee.com/openkylin/linux.git
perf inject: Do not inject BUILD_ID record if MMAP2 has it
When PERF_RECORD_MISC_MMAP_BUILD_ID is set, the event has a build-id of the DSO already so no need to add it again. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20210524225051.1190486-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
0c3f7b38d7
commit
f7fc0d1c91
|
@ -399,6 +399,18 @@ static int perf_event__repipe_mmap2(struct perf_tool *tool,
|
|||
err = perf_event__process_mmap2(tool, event, sample, machine);
|
||||
perf_event__repipe(tool, event, sample, machine);
|
||||
|
||||
if (event->header.misc & PERF_RECORD_MISC_MMAP_BUILD_ID) {
|
||||
struct dso *dso;
|
||||
|
||||
dso = findnew_dso(event->mmap2.pid, event->mmap2.tid,
|
||||
event->mmap2.filename, NULL, machine);
|
||||
if (dso) {
|
||||
/* mark it not to inject build-id */
|
||||
dso->hit = 1;
|
||||
}
|
||||
dso__put(dso);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -440,6 +452,18 @@ static int perf_event__repipe_buildid_mmap2(struct perf_tool *tool,
|
|||
};
|
||||
struct dso *dso;
|
||||
|
||||
if (event->header.misc & PERF_RECORD_MISC_MMAP_BUILD_ID) {
|
||||
/* cannot use dso_id since it'd have invalid info */
|
||||
dso = findnew_dso(event->mmap2.pid, event->mmap2.tid,
|
||||
event->mmap2.filename, NULL, machine);
|
||||
if (dso) {
|
||||
/* mark it not to inject build-id */
|
||||
dso->hit = 1;
|
||||
}
|
||||
dso__put(dso);
|
||||
return 0;
|
||||
}
|
||||
|
||||
dso = findnew_dso(event->mmap2.pid, event->mmap2.tid,
|
||||
event->mmap2.filename, &dso_id, machine);
|
||||
|
||||
|
|
Loading…
Reference in New Issue