mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-06-25 02:51:30 +02:00
perf jitdump: Directly mark the jitdump DSO
The DSO being generated was being accessed through a thread's maps, this is unnecessary as the dso can just be directly found. This avoids problems with passing a NULL evsel which may be inspected to determine properties of a callchain when using the buildid DSO marking code. Signed-off-by: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/r/20250724163302.596743-8-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
d9f2ecbc5e
commit
5b11409b92
|
|
@ -14,9 +14,9 @@
|
|||
#include <sys/mman.h>
|
||||
#include <linux/stringify.h>
|
||||
|
||||
#include "build-id.h"
|
||||
#include "event.h"
|
||||
#include "debug.h"
|
||||
#include "dso.h"
|
||||
#include "evlist.h"
|
||||
#include "namespaces.h"
|
||||
#include "symbol.h"
|
||||
|
|
@ -531,9 +531,22 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, union jr_entry *jr)
|
|||
/*
|
||||
* mark dso as use to generate buildid in the header
|
||||
*/
|
||||
if (!ret)
|
||||
build_id__mark_dso_hit(tool, event, &sample, NULL, jd->machine);
|
||||
if (!ret) {
|
||||
struct dso_id dso_id = {
|
||||
{
|
||||
.maj = event->mmap2.maj,
|
||||
.min = event->mmap2.min,
|
||||
.ino = event->mmap2.ino,
|
||||
.ino_generation = event->mmap2.ino_generation,
|
||||
},
|
||||
.mmap2_valid = true,
|
||||
.mmap2_ino_generation_valid = true,
|
||||
};
|
||||
struct dso *dso = machine__findnew_dso_id(jd->machine, filename, &dso_id);
|
||||
|
||||
if (dso)
|
||||
dso__set_hit(dso);
|
||||
}
|
||||
out:
|
||||
perf_sample__exit(&sample);
|
||||
free(event);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user