perf report: Add infrastructure for a cycles histogram
authorAndi Kleen <ak@linux.intel.com>
Sat, 18 Jul 2015 15:24:48 +0000 (08:24 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 6 Aug 2015 19:32:45 +0000 (16:32 -0300)
commitd4957633bf9dab70e566e7dbb2b8d0c61c3a2f1e
tree2dcf2a678a146eb1dc533921521d73ecd91f8b29
parent98df858ed46ddaaf9be3573eb2b63b57a68c6af7
perf report: Add infrastructure for a cycles histogram

This adds the basic infrastructure to keep track of cycle counts per
basic block for annotate. We allocate an array similar to the normal
accounting, and then account branch cycles there.

We handle two cases:

cycles per basic block with start and cycles per branch (these are later
used for either IPC or just cycles per BB)

In the start case we cannot handle overlaps, so always the longest basic
block wins.

For the cycles per branch case everything is accurately accounted.

v2: Remove unnecessary checks. Slight restructure. Move
symbol__get_annotation to another patch. Move histogram allocation.
v3: Merged with current tree

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1437233094-12844-4-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-annotate.c
tools/perf/util/annotate.c
tools/perf/util/annotate.h