• David S. Miller's avatar
    perf tools: Flush maps on COMM events · 4385d580
    David S. Miller authored
    Even though we don't register the counters until the child is right about
    to exec(), we're still going to get at least a few events while the
    fork()'d child is still executing 'perf' and in particular we're going to
    get the MMAP events.
    
    We can't distinguish the ones in the newly executed process because the
    PID will be the same.
    
    One way to solve this would be to have a PERF_RECORD_EXEC event, and when
    this is seen 'perf' can flush it's map cache.  We can't use
    PERF_RECORD_COMM since that's generated by other things, not just exec().
    
    Actually, thinking about it some more, using PERF_RECORD_COMM might be a
    good enough approximation.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Frédéric Weisbecker <fweisbec@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    LKML-Reference: <1267196914-16238-1-git-send-email-acme@infradead.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    4385d580
thread.c 7.04 KB