diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-11-21 01:30:54 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-23 05:41:01 -0500 |
commit | 2bcd521a684cc94befbe2ce7d5b613c841b0d304 (patch) | |
tree | 63bc4dbc52defa27c8cac9e46dddadfcb36c1c7a /kernel/trace/Kconfig | |
parent | bac28bfe42ba98ee67503f78984d1d5e1ebbbb78 (diff) |
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>
Diffstat (limited to 'kernel/trace/Kconfig')
-rw-r--r-- | kernel/trace/Kconfig | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index 7e3548705708..61e8cca6ff45 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -173,6 +173,22 @@ config TRACE_BRANCH_PROFILING | |||
173 | 173 | ||
174 | Say N if unsure. | 174 | Say N if unsure. |
175 | 175 | ||
176 | config PROFILE_ALL_BRANCHES | ||
177 | bool "Profile all if conditionals" | ||
178 | depends on TRACE_BRANCH_PROFILING | ||
179 | help | ||
180 | This tracer profiles all branch conditions. Every if () | ||
181 | taken in the kernel is recorded whether it hit or miss. | ||
182 | The results will be displayed in: | ||
183 | |||
184 | /debugfs/tracing/profile_branch | ||
185 | |||
186 | This configuration, when enabled, will impose a great overhead | ||
187 | on the system. This should only be enabled when the system | ||
188 | is to be analyzed | ||
189 | |||
190 | Say N if unsure. | ||
191 | |||
176 | config TRACING_BRANCHES | 192 | config TRACING_BRANCHES |
177 | bool | 193 | bool |
178 | help | 194 | help |