]> git.baikalelectronics.ru Git - kernel.git/commit
perf annotate: Compute IPC and basic block cycles
authorAndi Kleen <ak@linux.intel.com>
Sat, 18 Jul 2015 15:24:50 +0000 (08:24 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 6 Aug 2015 19:36:12 +0000 (16:36 -0300)
commit3e954c5a561653718dffffe6ef7a8888935bda7f
tree61f2ba3ee89bb1162a3e2f4275194589c1ae97f0
parentaf3abab55b50fa262ca3b685086031e6cc0aaa5a
perf annotate: Compute IPC and basic block cycles

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.

v2: Compute IPC correctly.

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