Messages in this thread | | | Date | Mon, 30 Sep 2013 17:44:41 +0200 | Subject | [RFC] perf: mmap2 not covering VM_CLONE regions | From | Stephane Eranian <> |
| |
Hi,
I was alerted by people trying to use the PERF_RECORD_MMAP2 record to disambiguate virtual address mappings that there is a case where the record does not contain enough information.
As you know, the MMAP2 record adds the major, minor, ino number, inode generation numbers to a mapping. But it does that only for file or pseudo -file backed mappings. That covers file mmaps and also SYSV shared memory segments.
However there is a another kind of situation that arises in some multi-process benchmarks where a region of memory is cloned using VM_CLONE. As such, the virtual addresses match between the processes but the major, minor, inode, inode generation fields are all zeroes because there is no inode associated with the mapping. Yet, it is important for the tool to know the mappings between the processes are pointing to the same physical data.
We need to cover this case and I am seeking for advice on how to best address this need given that we discarded using the plain physical address for disambiguation.
Thanks.
| |