On Mon, Sep 14, 2020 at 10:08:01AM -0700, Ian Rogers wrote: SNIP
> > > > Using one of the MISC bits to resolve the union. Might actually bring > > benefit to everyone. Us normal people get to have a smaller MMAP record, > > while the buildid folks can have it too. > > > > Even more extreme would be using 2 MISC bits and allowing the union to > > be 0 sized for anon. > > > > That said; I have the nagging feeling there were unresolved issues with > > mmap2, but I can't seem to find any relevant emails on it :/ My > > google-fu is weak today. > > Firstly, thanks Jiri for this really useful patch set for our > use-cases! Some thoughts: > > One issue with mmap2 events at the moment is that they happen "after" > the mmap is performed. This allows the mapped address to be known but > has the unfortunate problem of causing mmap events to get "extended" > due to adjacent vmas being merged. There are some workarounds like > commit c8f6ae1fb28d (perf inject jit: Remove //anon mmap events). > Perhaps these events can switch to reporting the length the mmap > requested rather than the length of the vma? seems like separate feature, perhaps we could use another MISC bit for that? > > I could imagine that changes here could be interesting to folks doing > CHERI or hypervisors, for example, they may want more address bits. > > BPF has stack traces with elements of buildid + offset. Using these in > perf samples would avoid the need for mmap events, synthesis, etc. but > at the cost of larger and possibly slower stack traces. Perhaps we > should just remove the idea of mmap events altogether? hm, we also need mmap events to resolve PERF_SAMPLE_IP, right? also not sure how would we do that for dwarf unwind, and perhaps there are some other places.. c2c data address resolving? thanks, jirka

