lkml.org 
[lkml]   [2013]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/8] perf: add ability to sample physical data addresses
    On Tue, Jul 30, 2013 at 10:51:46AM +0200, Stephane Eranian wrote:
    > On Tue, Jul 30, 2013 at 10:37 AM, Peter Zijlstra <peterz@infradead.org> wrote:
    > > On Tue, Jul 30, 2013 at 10:02:01AM +0200, Stephane Eranian wrote:
    > >> > Ahh. We don't put the useful bits in the mmap event; we'll need to fix
    > >> > that too then ;-)
    > >> >
    > >> > Doing so is going to be a bit of a bother since we use the tail of
    > >> > PERF_RECORD_MMAP for filenames and thus aren't particularly extensible.
    > >> >
    > >> > This would mean doing something like PERF_RECORD_MMAP2 and some means
    > >> > for userspace to requrest the new events instead of the old one.
    > >> >
    > >> Tracking mmaps even for shmat() won't cover the paging cases. When you page a
    > >> page back in, it most likely gets a different physical page. How would
    > >> we track that
    > >> case too using the same approach?
    > >
    > > It doesn't matter. Even if a page ends up being a different physical
    > > page, it will always be the same sb:inode:pgoffset. You should be able
    > > to always uniquely identify a (shared) page by that triplet.
    > >
    > Ok, so you're saying that triplet uniquely identifies a virtual page
    > regardless of
    > the physical page it is mapped onto. If the physical page changes because
    > of paging, we keep the same triplet and therefore we can still detect the false
    > sharing.

    Exactly.

    > > So if we create a net MMAP record that includes the device (substitute
    > > for the superblock) and inode information we should be good.
    >
    > I will try that. I am not familiar with mm, so where do we find the
    > device? Inside
    > the vma?

    Take a peek at fs/proc/task_mmu.c:show_map_vma(), its the code used to
    print /proc/$PID/maps and displays all stuff we want.


    \
     
     \ /
      Last update: 2013-07-30 11:21    [W:2.379 / U:0.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site