Re: [PATCH v2 0/1] perf: Set build-id using build-id header on new mmap records

From: Arnaldo Carvalho de Melo
Date: Sat Mar 12 2022 - 09:01:44 EST


Em Sat, Mar 05, 2022 at 09:33:59PM +0100, Jiri Olsa escreveu:
> On Fri, Mar 04, 2022 at 09:09:55AM +0000, James Clark wrote:
> > Changes since v1:
> > * Add read lock around dso find
> > * Bracket style fix
> >
> > Hi,
> >
> > We are seeing an issue with doing Coresight decode off target where
> > initially the correct dso from ~/.debug is used, but after a new thread
> > in the perf.data file is passed with its mmap record, the local version
> > of the dso is picked up instead. This happens if the binary exists in the
> > same path on both devices, for example /bin/ls.
> >
> > Initially when parsing the build-ids in the header, the dso for /bin/ls
> > will be created, and the file will correctly point to
> > ~/.debug/bin/ls/2f15ad836be3339dec0e2e6a3c637e08e48aacbd/elf, but for any
> > new threads or mmaps that are also for /bin/ls, they will not have a
> > build-id set so they point to /bin/ls on the local machine rather than the
> > debug folder.
> >
> > To fix this I made it possible to look up which existing dsos have
> > build id's set that originate from the header and then copy that build-id
> > onto the new dso if the name matches. Another way to do it would
> > be to stop comparing the mmap id so it matches on filename only, but I
> > think we do want to differentiate between different mmaps, even if they
> > have the same name, which is how it works in this version.
> >
> > Applies to perf/core 56dce8681
> >
> > James Clark (1):
> > perf: Set build-id using build-id header on new mmap records
>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

Thanks, applied.

- Arnaldo