Lines Matching refs:dso

65 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool,
331 static struct dso *findnew_dso(int pid, int tid, const char *filename, in findnew_dso()
337 struct dso *dso; in findnew_dso() local
360 dso = machine__findnew_vdso(machine, thread); in findnew_dso()
362 dso = machine__findnew_dso_id(machine, filename, id); in findnew_dso()
365 if (dso) { in findnew_dso()
366 nsinfo__put(dso->nsinfo); in findnew_dso()
367 dso->nsinfo = nsi; in findnew_dso()
372 return dso; in findnew_dso()
380 struct dso *dso; in perf_event__repipe_buildid_mmap() local
382 dso = findnew_dso(event->mmap.pid, event->mmap.tid, in perf_event__repipe_buildid_mmap()
385 if (dso && !dso->hit) { in perf_event__repipe_buildid_mmap()
386 dso->hit = 1; in perf_event__repipe_buildid_mmap()
387 dso__inject_build_id(dso, tool, machine, sample->cpumode, 0); in perf_event__repipe_buildid_mmap()
389 dso__put(dso); in perf_event__repipe_buildid_mmap()
405 struct dso *dso; in perf_event__repipe_mmap2() local
407 dso = findnew_dso(event->mmap2.pid, event->mmap2.tid, in perf_event__repipe_mmap2()
409 if (dso) { in perf_event__repipe_mmap2()
411 dso->hit = 1; in perf_event__repipe_mmap2()
413 dso__put(dso); in perf_event__repipe_mmap2()
455 struct dso *dso; in perf_event__repipe_buildid_mmap2() local
459 dso = findnew_dso(event->mmap2.pid, event->mmap2.tid, in perf_event__repipe_buildid_mmap2()
461 if (dso) { in perf_event__repipe_buildid_mmap2()
463 dso->hit = 1; in perf_event__repipe_buildid_mmap2()
465 dso__put(dso); in perf_event__repipe_buildid_mmap2()
469 dso = findnew_dso(event->mmap2.pid, event->mmap2.tid, in perf_event__repipe_buildid_mmap2()
472 if (dso && !dso->hit) { in perf_event__repipe_buildid_mmap2()
473 dso->hit = 1; in perf_event__repipe_buildid_mmap2()
474 dso__inject_build_id(dso, tool, machine, sample->cpumode, in perf_event__repipe_buildid_mmap2()
477 dso__put(dso); in perf_event__repipe_buildid_mmap2()
546 static int dso__read_build_id(struct dso *dso) in dso__read_build_id() argument
550 if (dso->has_build_id) in dso__read_build_id()
553 nsinfo__mountns_enter(dso->nsinfo, &nsc); in dso__read_build_id()
554 if (filename__read_build_id(dso->long_name, &dso->bid) > 0) in dso__read_build_id()
555 dso->has_build_id = true; in dso__read_build_id()
558 return dso->has_build_id ? 0 : -1; in dso__read_build_id()
561 static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool, in dso__inject_build_id() argument
566 if (is_anon_memory(dso->long_name) || flags & MAP_HUGETLB) in dso__inject_build_id()
568 if (is_no_dso_memory(dso->long_name)) in dso__inject_build_id()
571 if (dso__read_build_id(dso) < 0) { in dso__inject_build_id()
572 pr_debug("no build_id found for %s\n", dso->long_name); in dso__inject_build_id()
576 err = perf_event__synthesize_build_id(tool, dso, cpumode, in dso__inject_build_id()
579 pr_err("Can't synthesize build_id event for %s\n", dso->long_name); in dso__inject_build_id()
602 if (!al.map->dso->hit) { in perf_event__inject_buildid()
603 al.map->dso->hit = 1; in perf_event__inject_buildid()
604 dso__inject_build_id(al.map->dso, tool, machine, in perf_event__inject_buildid()