[lkml]   [2012]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] perf: do not flush maps on COMM for perf report

    * Luigi Semenzato <> wrote:

    > This fixes a long-standing bug caused by the lack of separate
    > COMM and EXEC record types, which makes "perf report" lose
    > track of symbols when a process renames itself.
    > With this fix (suggested by Stephane Eranian), a COMM (rename)
    > no longer flushes the maps, which is the correct behavior.
    > An EXEC also no longer flushes the maps, but this doesn't
    > matter because as new mappings are created (for the executable
    > and the libraries) the old mappings are automatically removed.
    > This is not by accident: the functionality is necessary because
    > DLLs can be explicitly loaded at any time with dlopen(),
    > possibly on top of existing text, so "perf report" handles
    > correctly the clobbering of new mappings on top of old ones.
    > An alternative patch (which I proposed earlier) would be to
    > introduce a separate PERF_RECORD_EXEC type, but it is a much
    > larger change (about 300 lines) and is not necessary.

    It would be nice to add that too - we already have FORK/EXIT,
    this seems like a natural extension.



     \ /
      Last update: 2012-08-22 10:01    [W:0.033 / U:7.560 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site