diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-05-12 15:20:42 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-23 14:32:27 -0400 |
commit | 35e8e302e5d6e32675df2fc1dd3a53dfa6630dc1 (patch) | |
tree | 5b5b503666d882bbb4d805b7b20b4f3b11d2c40e /kernel/trace/Kconfig | |
parent | 1b29b01887e6032dcaf818c14999c7a39593b4e7 (diff) |
ftrace: add tracing of context switches
This patch adds context switch tracing, of the format of:
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | pid:prio:state
\ / ||||| \ | /
swapper-0 1d..3 137us+: 0:140:R --> 2912:120
sshd-2912 1d..3 216us+: 2912:120:S --> 0:140
swapper-0 1d..3 261us+: 0:140:R --> 2912:120
bash-2920 0d..3 267us+: 2920:120:S --> 0:140
sshd-2912 1d..3 330us!: 2912:120:S --> 0:140
swapper-0 1d..3 2389us+: 0:140:R --> 2847:120
yum-upda-2847 1d..3 2411us!: 2847:120:S --> 0:140
swapper-0 0d..3 11089us+: 0:140:R --> 3139:120
gdm-bina-3139 0d..3 11113us!: 3139:120:S --> 0:140
swapper-0 1d..3 102328us+: 0:140:R --> 2847:120
yum-upda-2847 1d..3 102348us!: 2847:120:S --> 0:140
"sched_switch" is added to /debugfs/tracing/available_tracers
[ Eugene Teo <eugeneteo@kernel.sg: remove unused tracing_sched_switch_enabled ]
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/trace/Kconfig')
-rw-r--r-- | kernel/trace/Kconfig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index 1399f372b5dc..5d6aa92866cd 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -13,6 +13,7 @@ config FTRACE | |||
13 | depends on DEBUG_KERNEL && HAVE_FTRACE | 13 | depends on DEBUG_KERNEL && HAVE_FTRACE |
14 | select FRAME_POINTER | 14 | select FRAME_POINTER |
15 | select TRACING | 15 | select TRACING |
16 | select CONTEXT_SWITCH_TRACER | ||
16 | help | 17 | help |
17 | Enable the kernel to trace every kernel function. This is done | 18 | Enable the kernel to trace every kernel function. This is done |
18 | by using a compiler feature to insert a small, 5-byte No-Operation | 19 | by using a compiler feature to insert a small, 5-byte No-Operation |
@@ -21,3 +22,13 @@ config FTRACE | |||
21 | tracing is enabled by the administrator. If it's runtime disabled | 22 | tracing is enabled by the administrator. If it's runtime disabled |
22 | (the bootup default), then the overhead of the instructions is very | 23 | (the bootup default), then the overhead of the instructions is very |
23 | small and not measurable even in micro-benchmarks. | 24 | small and not measurable even in micro-benchmarks. |
25 | |||
26 | config CONTEXT_SWITCH_TRACER | ||
27 | bool "Trace process context switches" | ||
28 | depends on DEBUG_KERNEL | ||
29 | select TRACING | ||
30 | select MARKERS | ||
31 | help | ||
32 | This tracer gets called from the context switch and records | ||
33 | all switching of tasks. | ||
34 | |||