Re: [PATCH v2 2/5] perf/x86/intel: Record branch type
From: Peter Zijlstra <peterz@infradead.org>
Date: 2017-04-07 17:20:38
Also in:
lkml
On Fri, Apr 07, 2017 at 09:48:34AM -0700, Andi Kleen wrote:
On Fri, Apr 07, 2017 at 05:20:31PM +0200, Peter Zijlstra wrote:quoted
On Fri, Apr 07, 2017 at 06:47:43PM +0800, Jin Yao wrote:quoted
Perf already has support for disassembling the branch instruction and using the branch type for filtering. The patch just records the branch type in perf_branch_entry. Before recording, the patch converts the x86 branch classification to common branch classification and compute for checking if the branches cross 4K or 2MB areas. It's an approximate computing for crossing 4K page or 2MB page.The changelog is completely empty of rationale. Why do we care? Not having the binary is a very bad reason; you can't do much of anything if that's missing.It's a somewhat common situation with partially JITed code, if you don't have an agent. You can still do a lot of useful things.
Like what? How can you say anything about code you don't have?
We found it useful to have this extra information during workload analysis. Forward conditionals and page crossing jumps are indications of frontend problems.
But you already have the exact same information in {to,from}, why would
you need to repackage information already contained?