Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1434417 > unrolled thread

Re: [PATCH 5/9] perf, tools: Compute IPC and basic block cycles for annotate

Started byPeter Zijlstra <peterz@infradead.org>
First post2016-06-30 11:50 +0200
Last post2016-07-02 22:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 5/9] perf, tools: Compute IPC and basic block cycles for  annotate Peter Zijlstra <peterz@infradead.org> - 2016-06-30 11:50 +0200
    Re: [PATCH 5/9] perf, tools: Compute IPC and basic block cycles for  annotate Andi Kleen <andi@firstfloor.org> - 2016-07-02 22:40 +0200

#1434417 — Re: [PATCH 5/9] perf, tools: Compute IPC and basic block cycles for annotate

FromPeter Zijlstra <peterz@infradead.org>
Date2016-06-30 11:50 +0200
SubjectRe: [PATCH 5/9] perf, tools: Compute IPC and basic block cycles for annotate
Message-ID<rPGLE-7VT-23@gated-at.bofh.it>
On Sat, Jul 18, 2015 at 08:24:50AM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
> 
> Compute the IPC and the basic block cycles for the annotate display.
> 
> IPC is computed by counting the instructions, and then dividing the
> accounted cycles by that count.
> 
> The actual IPC computation can only be done at annotate time,
> because we need to parse the objdump output first to know
> the number of instructions in the basic block.
> 
> The cycles/IPC are also put into the perf function annotation
> so that the display code can show them.
> 
> Again basic block overlaps are not handled, with the longest winning,
> but there are some heuristics to hide the IPC when the longest is not
> the most common.

I'm looking at basic block support, but this all seems to depend on the
cycles stuff. Can we get the basic block stuff without that?

I'm looking to plot the hottest path through a branchy function.

[toc] | [next] | [standalone]


#1435867

FromAndi Kleen <andi@firstfloor.org>
Date2016-07-02 22:40 +0200
Message-ID<rQzRL-8a7-3@gated-at.bofh.it>
In reply to#1434417
> I'm looking at basic block support, but this all seems to depend on the
> cycles stuff. Can we get the basic block stuff without that?

Not sure what you mean with basic block stuff, but ...
> 
> I'm looking to plot the hottest path through a branchy function.

Use --branch-history to get a histogram of the hottest paths.
If you want a longer history than 16/32 you can also use PT
and tell the decoder to synthesize larger LBRs.

However currently it cannot output metadata like cycles

Or apply the following patches to show the path with perf script for
individual samples
(unfortunatly the disassembler support was rejected, so this
won't be available in mainline)

https://git.kernel.org/cgit/linux/kernel/git/ak/linux-misc.git/log/?h=perf/disassembler-1

-Andi

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web