kernel_optimize_test/tools/perf/ui
Jin Yao c4ee06251d perf report: Calculate the average cycles of iterations
The branch history code has a loop detection function. With this, we can
get the number of iterations by calculating the removed loops.

While it would be nice for knowing the average cycles of iterations.
This patch adds up the cycles in branch entries of removed loops and
save the result to the next branch entry (e.g. branch entry A).

Finally it will display the iteration number and average cycles at the
"from" of branch entry A.

For example:
perf record -g -j any,save_type ./div
perf report --branch-history --no-children --stdio

--22.63%--main div.c:42 (RET CROSS_2M)
          compute_flag div.c:28 (cycles:2 iter:173115 avg_cycles:2)
          |
           --10.73%--compute_flag div.c:27 (RET CROSS_2M)
                     rand rand.c:28 (cycles:1)
                     rand rand.c:28 (RET CROSS_2M)
                     __random random.c:298 (cycles:1)
                     __random random.c:297 (COND_BWD CROSS_2M)
                     __random random.c:295 (cycles:1)
                     __random random.c:295 (COND_BWD CROSS_2M)
                     __random random.c:295 (cycles:1)
                     __random random.c:295 (RET CROSS_2M)

Signed-off-by: Yao Jin <yao.jin@linux.intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1502111115-18305-1-git-send-email-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2017-08-30 10:03:27 -03:00
..
browsers perf report: Calculate the average cycles of iterations 2017-08-30 10:03:27 -03:00
gtk perf annotate: Rename 'sum' to 'nr_samples' in struct sym_hist 2017-07-21 08:23:49 -03:00
stdio perf report: Calculate the average cycles of iterations 2017-08-30 10:03:27 -03:00
tui perf tools: Add include <linux/kernel.h> where ARRAY_SIZE() is used 2017-04-19 13:01:44 -03:00
browser.c tools include: Adopt strstarts() from the kernel 2017-07-20 15:46:10 -03:00
browser.h perf annotate: Implement visual marker for macro fusion 2017-07-18 23:13:49 -03:00
Build
helpline.c perf ui helpline: Provide a printf variant 2016-11-25 15:49:16 -03:00
helpline.h perf ui helpline: Provide a printf variant 2016-11-25 15:49:16 -03:00
hist.c perf tools: Put caller above callee in --children mode 2017-05-24 08:41:49 +02:00
keysyms.h
libslang.h
progress.c
progress.h
setup.c perf ui gtk: Move gtk .so name to the only place where it is used 2017-04-26 15:31:57 -03:00
ui.h perf ui stdio: Add way to setup the color output mode selection 2016-07-12 00:00:39 -03:00
util.c
util.h