kernel_optimize_test/kernel/trace
Steven Rostedt 2bcd521a68 trace: profile all if conditionals
Impact: feature to profile if statements

This patch adds a branch profiler for all if () statements.
The results will be found in:

  /debugfs/tracing/profile_branch

For example:

   miss      hit    %        Function                  File              Line
 ------- ---------  -        --------                  ----              ----
       0        1 100 x86_64_start_reservations      head64.c             127
       0        1 100 copy_bootdata                  head64.c             69
       1        0   0 x86_64_start_kernel            head64.c             111
      32        0   0 set_intr_gate                  desc.h               319
       1        0   0 reserve_ebda_region            head.c               51
       1        0   0 reserve_ebda_region            head.c               47
       0        1 100 reserve_ebda_region            head.c               42
       0        0   X maxcpus                        main.c               165

Miss means the branch was not taken. Hit means the branch was taken.
The percent is the percentage the branch was taken.

This adds a significant amount of overhead and should only be used
by those analyzing their system.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-23 11:41:01 +01:00
..
ftrace.c Merge branch 'tip/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent 2008-11-19 09:00:50 +01:00
Kconfig trace: profile all if conditionals 2008-11-23 11:41:01 +01:00
Makefile ftrace: rename trace_unlikely.c file 2008-11-12 22:28:40 +01:00
ring_buffer.c Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core 2008-11-19 10:04:25 +01:00
trace_boot.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_branch.c trace: profile all if conditionals 2008-11-23 11:41:01 +01:00
trace_functions_return.c tracing/function-return-tracer: add the overrun field 2008-11-18 11:11:00 +01:00
trace_functions.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_irqsoff.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_mmiotrace.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_nop.c tracing/ftrace: make nop tracer using tracer flags 2008-11-18 11:10:59 +01:00
trace_sched_switch.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_sched_wakeup.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_selftest_dynamic.c ftrace: fix dynamic ftrace selftest 2008-05-23 21:13:23 +02:00
trace_selftest.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace_stack.c Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core 2008-11-23 09:10:32 +01:00
trace_sysprof.c tracing/ftrace: change the type of the init() callback 2008-11-16 07:55:23 +01:00
trace.c Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core 2008-11-23 09:10:32 +01:00
trace.h tracing/function-return-tracer: add the overrun field 2008-11-18 11:11:00 +01:00