• F
    perf report: Add "Fractal" mode output - support callchains with relative overhead rate · 805d127d
    Frederic Weisbecker 提交于
    The current callchain displays the overhead rates as absolute:
    relative to the total overhead.
    
    This patch provides relative overhead percentage, in which each
    branch of the callchain tree is a independant instrumentated object.
    
    This provides a 'fractal' view of the call-chain profile: each
    sub-graph looks like a profile in itself - relative to its parent.
    
    You can produce such output by using the "fractal" mode
    that you can abbreviate via f, fr, fra, frac, etc...
    
    ./perf report -s sym -c fractal
    
    Example:
    
         8.46%  [k] copy_user_generic_string
                    |
                    |--52.01%-- generic_file_aio_read
                    |          do_sync_read
                    |          vfs_read
                    |          |
                    |          |--97.20%-- sys_pread64
                    |          |          system_call_fastpath
                    |          |          pread64
                    |          |
                    |           --2.81%-- sys_read
                    |                     system_call_fastpath
                    |                     __read
                    |
                    |--39.85%-- generic_file_buffered_write
                    |          __generic_file_aio_write_nolock
                    |          generic_file_aio_write
                    |          do_sync_write
                    |          reiserfs_file_write
                    |          vfs_write
                    |          |
                    |          |--97.05%-- sys_pwrite64
                    |          |          system_call_fastpath
                    |          |          __pwrite64
                    |          |
                    |           --2.95%-- sys_write
                    |                     system_call_fastpath
                    |                     __write_nocancel
    [...]
    Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Anton Blanchard <anton@samba.org>
    Cc: Jens Axboe <jens.axboe@oracle.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    LKML-Reference: <1246772361-9960-5-git-send-email-fweisbec@gmail.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    805d127d
builtin-report.c 39.6 KB