* [PATCH 0/3] [GIT PULL] tracing: config updates
@ 2009-04-20 15:43 Steven Rostedt
2009-04-20 15:43 ` [PATCH 1/3] tracing: change branch profiling to a choice selection Steven Rostedt
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Steven Rostedt @ 2009-04-20 15:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton
Ingo,
Please pull the latest tip/tracing/ftrace tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
tip/tracing/ftrace
Steven Rostedt (3):
tracing: change branch profiling to a choice selection
tracing: create menuconfig for tracing infrastructure
tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING
----
kernel/trace/Kconfig | 54 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 45 insertions(+), 9 deletions(-)
--
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] tracing: change branch profiling to a choice selection
2009-04-20 15:43 [PATCH 0/3] [GIT PULL] tracing: config updates Steven Rostedt
@ 2009-04-20 15:43 ` Steven Rostedt
2009-04-20 15:43 ` [PATCH 2/3] tracing: create menuconfig for tracing infrastructure Steven Rostedt
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2009-04-20 15:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton
[-- Attachment #1: 0001-tracing-change-branch-profiling-to-a-choice-selecti.patch --]
[-- Type: text/plain, Size: 3304 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
This patch makes the branch profiling into a choice selection:
None - no branch profiling
likely/unlikely - only profile likely/unlikely branches
all - profile all branches
The all profiler will also enable the likely/unlikely branches.
This does not change the way the profiler works or the dependencies
between the profilers.
What this patch does, is keep the branch profiling from being selected
by an allyesconfig make. The branch profiler is very intrusive and
it is known to break various architecture builds when selected as an
allyesconfig.
[ Impact: prevent branch profiler from being selected in allyesconfig ]
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/Kconfig | 39 +++++++++++++++++++++++++++++++++------
1 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 57981d3..3ee28db 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -212,8 +212,36 @@ config BOOT_TRACER
to enable this on bootup.
config TRACE_BRANCH_PROFILING
- bool "Trace likely/unlikely profiler"
+ bool
select TRACING
+
+choice
+ prompt "Branch Profiling"
+ default BRANCH_PROFILE_NONE
+ help
+ The branch profiling is a software profiler. It will add hooks
+ into the C conditionals to test which path a branch takes.
+
+ The likely/unlikely profiler only looks at the conditions that
+ are annotated with a likely or unlikely macro.
+
+ The "all branch" profiler will profile every if statement in the
+ kernel. This profiler will also enable the likely/unlikely
+ profiler as well.
+
+ Either of the above profilers add a bit of overhead to the system.
+ If unsure choose "No branch profiling".
+
+config BRANCH_PROFILE_NONE
+ bool "No branch profiling"
+ help
+ No branch profiling. Branch profiling adds a bit of overhead.
+ Only enable it if you want to analyse the branching behavior.
+ Otherwise keep it disabled.
+
+config PROFILE_ANNOTATED_BRANCHES
+ bool "Trace likely/unlikely profiler"
+ select TRACE_BRANCH_PROFILING
help
This tracer profiles all the the likely and unlikely macros
in the kernel. It will display the results in:
@@ -223,11 +251,9 @@ config TRACE_BRANCH_PROFILING
Note: this will add a significant overhead, only turn this
on if you need to profile the system's use of these macros.
- Say N if unsure.
-
config PROFILE_ALL_BRANCHES
bool "Profile all if conditionals"
- depends on TRACE_BRANCH_PROFILING
+ select TRACE_BRANCH_PROFILING
help
This tracer profiles all branch conditions. Every if ()
taken in the kernel is recorded whether it hit or miss.
@@ -235,11 +261,12 @@ config PROFILE_ALL_BRANCHES
/debugfs/tracing/profile_branch
+ This option also enables the likely/unlikely profiler.
+
This configuration, when enabled, will impose a great overhead
on the system. This should only be enabled when the system
is to be analyzed
-
- Say N if unsure.
+endchoice
config TRACING_BRANCHES
bool
--
1.6.2.1
--
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] tracing: create menuconfig for tracing infrastructure
2009-04-20 15:43 [PATCH 0/3] [GIT PULL] tracing: config updates Steven Rostedt
2009-04-20 15:43 ` [PATCH 1/3] tracing: change branch profiling to a choice selection Steven Rostedt
@ 2009-04-20 15:43 ` Steven Rostedt
2009-04-20 15:43 ` [PATCH 3/3] tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING Steven Rostedt
2009-04-20 15:57 ` [PATCH 0/3] [GIT PULL] tracing: config updates Ingo Molnar
3 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2009-04-20 15:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton
[-- Attachment #1: 0002-tracing-create-menuconfig-for-tracing-infrastructur.patch --]
[-- Type: text/plain, Size: 1238 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
During testing we often use randconfig to test various kernels.
The current configuration set up does not give an easy way to disable
all tracing with a single config. The case where randconfig would
test all tracing disabled is very unlikely.
This patch adds a config option to enable or disable all tracing.
It is hooked into the tracing menu just like other submenus are done.
[ Impact: allow randconfig to easily produce all traces disabled ]
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/Kconfig | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 3ee28db..3fa36d2 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -77,7 +77,12 @@ config TRACING_SUPPORT
if TRACING_SUPPORT
-menu "Tracers"
+menuconfig FTRACE
+ bool "Tracers"
+ help
+ Enable the kernel tracing infrastructure.
+
+if FTRACE
config FUNCTION_TRACER
bool "Kernel Function Tracer"
@@ -462,7 +467,7 @@ config MMIOTRACE_TEST
Say N, unless you absolutely know what you are doing.
-endmenu
+endif # FTRACE
endif # TRACING_SUPPORT
--
1.6.2.1
--
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING
2009-04-20 15:43 [PATCH 0/3] [GIT PULL] tracing: config updates Steven Rostedt
2009-04-20 15:43 ` [PATCH 1/3] tracing: change branch profiling to a choice selection Steven Rostedt
2009-04-20 15:43 ` [PATCH 2/3] tracing: create menuconfig for tracing infrastructure Steven Rostedt
@ 2009-04-20 15:43 ` Steven Rostedt
2009-04-20 15:57 ` [PATCH 0/3] [GIT PULL] tracing: config updates Ingo Molnar
3 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2009-04-20 15:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton
[-- Attachment #1: 0003-tracing-rename-EVENT_TRACER-config-to-ENABLE_EVENT_.patch --]
[-- Type: text/plain, Size: 1456 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
Currently we have two configs: EVENT_TRACING and EVENT_TRACER.
All tracers enable EVENT_TRACING. The EVENT_TRACER is only a
convenience to enable the EVENT_TRACING when no other tracers
are enabled.
The names EVENT_TRACER and EVENT_TRACING are too similar and confusing.
This patch renames EVENT_TRACER to ENABLE_EVENT_TRACING to be more
appropriate to what it actually does, as well as add a comment in
the help menu to explain the option's purpose.
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/Kconfig | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 3fa36d2..450d3c2 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -183,7 +183,7 @@ config CONTEXT_SWITCH_TRACER
This tracer gets called from the context switch and records
all switching of tasks.
-config EVENT_TRACER
+config ENABLE_EVENT_TRACING
bool "Trace various events in the kernel"
select TRACING
help
@@ -191,6 +191,10 @@ config EVENT_TRACER
allowing the user to pick and choose which trace point they
want to trace.
+ Note, all tracers enable event tracing. This option is
+ only a convenience to enable event tracing when no other
+ tracers are selected.
+
config FTRACE_SYSCALLS
bool "Trace syscalls"
depends on HAVE_FTRACE_SYSCALLS
--
1.6.2.1
--
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] [GIT PULL] tracing: config updates
2009-04-20 15:43 [PATCH 0/3] [GIT PULL] tracing: config updates Steven Rostedt
` (2 preceding siblings ...)
2009-04-20 15:43 ` [PATCH 3/3] tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING Steven Rostedt
@ 2009-04-20 15:57 ` Ingo Molnar
3 siblings, 0 replies; 5+ messages in thread
From: Ingo Molnar @ 2009-04-20 15:57 UTC (permalink / raw)
To: Steven Rostedt; +Cc: linux-kernel, Andrew Morton, Frédéric Weisbecker
* Steven Rostedt <rostedt@goodmis.org> wrote:
> Ingo,
>
> Please pull the latest tip/tracing/ftrace tree, which can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
> tip/tracing/ftrace
>
>
> Steven Rostedt (3):
> tracing: change branch profiling to a choice selection
> tracing: create menuconfig for tracing infrastructure
> tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING
>
> ----
> kernel/trace/Kconfig | 54 +++++++++++++++++++++++++++++++++++++++++--------
> 1 files changed, 45 insertions(+), 9 deletions(-)
Pulled, thanks Steve!
Ingo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-04-20 15:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-20 15:43 [PATCH 0/3] [GIT PULL] tracing: config updates Steven Rostedt
2009-04-20 15:43 ` [PATCH 1/3] tracing: change branch profiling to a choice selection Steven Rostedt
2009-04-20 15:43 ` [PATCH 2/3] tracing: create menuconfig for tracing infrastructure Steven Rostedt
2009-04-20 15:43 ` [PATCH 3/3] tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING Steven Rostedt
2009-04-20 15:57 ` [PATCH 0/3] [GIT PULL] tracing: config updates Ingo Molnar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.