• Andi Kleen's avatar
    perf tools: Always use non inlined file name for 'srcfile' sort key · 2f84b42b
    Andi Kleen authored
    When profiling the kernel with the 'srcfile' sort key it's common to
    "get stuck" in include. For example a lot of code uses current or other
    inlines, so they get accounted to some random include file. This is not
    very useful as a high level categorization.
    
    For example just profiling the idle loop usually shows mostly inlines,
    so you never see the actual cpuidle file.
    
    This patch changes the 'srcfile' sort key to always unwind the inline
    stack using BFD/DWARF. So we always account to the base function that
    called the inline.
    
    In a few cases include is still shown (for example for MSR accesses),
    but that is because they get inlining expanded as part of assigning to a
    global function pointer. For the majority it works fine though.
    
    v2: Use simpler while loop. Add maximum iteration count.
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Link: http://lkml.kernel.org/r/1441133239-31254-1-git-send-email-andi@firstfloor.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    2f84b42b
util.h 8.78 KB