Re: [PATCH 16/26] perf tools: Synthesize modules with mmap3

From: Arnaldo Carvalho de Melo
Date: Wed Sep 16 2020 - 16:58:22 EST


Em Wed, Sep 16, 2020 at 05:21:23PM +0200, Jiri Olsa escreveu:
> On Wed, Sep 16, 2020 at 12:10:21PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Wed, Sep 16, 2020 at 04:17:00PM +0200, peterz@xxxxxxxxxxxxx escreveu:
> > > On Wed, Sep 16, 2020 at 11:07:44AM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Em Wed, Sep 16, 2020 at 10:20:18AM +0200, Jiri Olsa escreveu:

> > > > > > IIRC BUILD_ID_SIZE is 20 bytes which is the correct size for SHA-1. A
> > > > > > build ID may be 128-bits (16 bytes) if md5 or uuid hashes are used.
> > > > > > Should this test just be "> 0" ?

> > > > > ah right, will check on that

> > > > And how do you deal with this in the kernel? I.e. to inform userspace,
> > > > via the PERF_RECORD_MMAP3 (or MMAP2 with that misc bit trick) the size
> > > > of the build-id?

> > > The union size is 24 bytes, so there's plenty space to store a length
> > > field with the buildid.

> > So, I think we should instead use a bit in the misc field, stating the
> > kind of build-id, so that we don't waste a byte for that, I think.

> not sure there's too many misc bits left if there would be more
> build id kinds

So, Ian mentioned a few types of build ids, if there are not that many
misc bits left for PERF_RECORD_MMAP2, then yeah, we can then use one
byte and use it as a PERF_RECORD_MMAP2 specific misc bits, me may want
to have something else in the future, like we're now reusing those ino,
etc, to instead store a build-id.

But we're closing in to a final solution, and that is good. :-)

- Arnaldo