Steven Rostedt
352ad25aa4
ftrace: tracer for scheduler wakeup latency
This patch adds the tracer that tracks the wakeup latency of the
highest priority waking task.
"wakeup" is added to /debugfs/tracing/available_tracers
Also added to /debugfs/tracing
tracing_max_latency
holds the current max latency for the wakeup
wakeup_thresh
if set to other than zero, a log will be recorded
for every wakeup that takes longer than the number
entered in here (usecs for all counters)
(deletes previous trace)
Examples:
(with ftrace_enabled = 0)
============
preemption latency trace v1.1.5 on 2.6.24-rc8
Signed-off-by: Ingo Molnar <mingo@elte.hu>
--------------------------------------------------------------------
latency: 26 us, #2/2, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)
-----------------
| task: migration/0-3 (uid:0 nice:-5 policy:1 rt_prio:99)
-----------------
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
quilt-8551 0d..3 0us+: wake_up_process+0x15/0x17 <ffffffff80233e80> (sched_exec+0xc9/0x100 <ffffffff80235343>)
quilt-8551 0d..4 26us : sched_switch_callback+0x73/0x81 <ffffffff80338d2f> (schedule+0x483/0x6d5 <ffffffff8048b3ee>)
vim:ft=help
============
(with ftrace_enabled = 1)
============
preemption latency trace v1.1.5 on 2.6.24-rc8
--------------------------------------------------------------------
latency: 36 us, #45/45, CPU#0 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)
-----------------
| task: migration/1-5 (uid:0 nice:-5 policy:1 rt_prio:99)
-----------------
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
bash-10653 1d..3 0us : wake_up_process+0x15/0x17 <ffffffff80233e80> (sched_exec+0xc9/0x100 <ffffffff80235343>)
bash-10653 1d..3 1us : try_to_wake_up+0x271/0x2e7 <ffffffff80233dcf> (sub_preempt_count+0xc/0x7a <ffffffff8023309e>)
bash-10653 1d..2 2us : try_to_wake_up+0x296/0x2e7 <ffffffff80233df4> (update_rq_clock+0x9/0x20 <ffffffff802303f3>)
bash-10653 1d..2 2us : update_rq_clock+0x1e/0x20 <ffffffff80230408> (__update_rq_clock+0xc/0x90 <ffffffff80230366>)
bash-10653 1d..2 3us : __update_rq_clock+0x1b/0x90 <ffffffff80230375> (sched_clock+0x9/0x29 <ffffffff80214529>)
bash-10653 1d..2 4us : try_to_wake_up+0x2a6/0x2e7 <ffffffff80233e04> (activate_task+0xc/0x3f <ffffffff8022ffca>)
bash-10653 1d..2 4us : activate_task+0x2d/0x3f <ffffffff8022ffeb> (enqueue_task+0xe/0x66 <ffffffff8022ff66>)
bash-10653 1d..2 5us : enqueue_task+0x5b/0x66 <ffffffff8022ffb3> (enqueue_task_rt+0x9/0x3c <ffffffff80233351>)
bash-10653 1d..2 6us : try_to_wake_up+0x2ba/0x2e7 <ffffffff80233e18> (check_preempt_wakeup+0x12/0x99 <ffffffff80234f84>)
[...]
bash-10653 1d..5 33us : tracing_record_cmdline+0xcf/0xd4 <ffffffff80338aad> (_spin_unlock+0x9/0x33 <ffffffff8048d3ec>)
bash-10653 1d..5 34us : _spin_unlock+0x19/0x33 <ffffffff8048d3fc> (sub_preempt_count+0xc/0x7a <ffffffff8023309e>)
bash-10653 1d..4 35us : wakeup_sched_switch+0x65/0x2ff <ffffffff80339f66> (_spin_lock_irqsave+0xc/0xa9 <ffffffff8048d08b>)
bash-10653 1d..4 35us : _spin_lock_irqsave+0x19/0xa9 <ffffffff8048d098> (add_preempt_count+0xe/0x77 <ffffffff8023311a>)
bash-10653 1d..4 36us : sched_switch_callback+0x73/0x81 <ffffffff80338d2f> (schedule+0x483/0x6d5 <ffffffff8048b3ee>)
vim:ft=help
============
The [...] was added here to not waste your email box space.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-05-23 20:32:36 +02:00
..
2008-04-30 08:29:54 -07:00
2008-05-18 20:49:41 +02:00
2008-04-25 13:00:11 -04:00
2008-04-29 13:46:50 -07:00
2008-05-01 18:59:11 +01:00
2008-05-08 01:15:21 -07:00
2008-05-21 14:08:38 -07:00
2008-05-21 14:08:38 -07:00
2008-05-21 14:08:38 -07:00
2008-04-25 13:00:11 -04:00
2008-04-30 08:29:33 -07:00
2008-05-19 07:34:01 -05:00
2008-04-29 08:06:27 -07:00
2008-05-20 14:14:15 -07:00
2008-04-26 23:41:04 +02:00
2008-04-30 08:29:54 -07:00
2008-04-29 08:06:00 -07:00
2008-05-01 13:08:50 -04:00
2008-05-14 23:24:09 -07:00
2008-05-14 23:24:09 -07:00
2008-04-28 06:28:37 -04:00
2008-04-30 08:29:50 -07:00
2008-05-16 17:23:05 -04:00
2008-04-29 09:50:34 +02:00
2008-05-13 08:02:25 -07:00
2008-04-29 08:11:16 -07:00
2008-04-29 12:36:54 -07:00
2008-04-28 08:58:25 -07:00
2008-04-29 08:06:01 -07:00
2008-04-28 08:58:19 -07:00
2008-04-29 13:22:56 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 08:06:09 -07:00
2008-04-29 08:06:10 -07:00
2008-05-01 08:03:59 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 08:05:59 -07:00
2008-05-01 08:03:59 -07:00
2008-04-30 08:42:49 -07:00
2008-05-10 19:51:16 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 08:06:06 -07:00
2008-04-30 08:29:52 -07:00
2008-04-29 08:05:59 -07:00
2008-04-28 16:27:08 -04:00
2008-05-13 08:02:25 -07:00
2008-04-28 08:58:19 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:53 -07:00
2008-04-29 08:06:09 -07:00
2008-04-30 08:29:54 -07:00
2008-05-20 13:31:53 -07:00
2008-04-30 08:29:48 -07:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-04-29 08:06:11 -07:00
2008-04-29 08:06:11 -07:00
2008-04-28 08:58:30 -07:00
2008-04-29 08:06:26 -07:00
2008-04-29 08:06:16 -07:00
2008-04-30 08:29:54 -07:00
2008-05-07 09:48:23 +02:00
2008-04-28 08:58:35 -07:00
2008-05-16 17:22:26 -04:00
2008-05-01 13:08:16 -04:00
2008-05-07 09:29:00 +02:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-05-23 20:32:36 +02:00
2008-05-13 08:02:26 -07:00
2008-04-30 08:29:45 -07:00
2008-05-14 10:37:57 -07:00
2008-04-29 08:05:58 -07:00
2008-05-10 20:58:02 -07:00
2008-05-20 16:44:43 +02:00
2008-05-20 16:44:43 +02:00
2008-05-03 18:11:48 +02:00
2008-04-28 08:58:25 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 23:11:38 +02:00
2008-05-18 20:49:41 +02:00
2008-04-30 08:29:54 -07:00
2008-05-14 23:06:16 +02:00
2008-04-29 08:06:25 -07:00
2008-04-30 20:34:26 -04:00
2008-05-02 16:53:33 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-05-16 17:22:20 -04:00
2008-04-29 08:06:03 -07:00
2008-04-29 08:06:02 -07:00
2008-05-05 16:47:14 +10:00
2008-05-07 09:51:23 +02:00
2008-04-29 08:06:13 -07:00
2008-04-29 08:06:15 -07:00
2008-04-29 08:06:15 -07:00
2008-05-02 13:40:34 +02:00
2008-04-29 03:22:15 -04:00
2008-04-30 08:29:54 -07:00
2008-05-01 08:03:58 -07:00
2008-05-15 17:50:37 -07:00
2008-05-20 17:23:03 -07:00
2008-04-29 08:06:29 -07:00
2008-05-14 19:11:14 -07:00
2008-04-29 08:06:17 -07:00
2008-04-29 08:06:16 -07:00
2008-04-30 08:29:54 -07:00
2008-05-05 07:13:21 -05:00
2008-04-30 16:52:58 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-04-28 08:58:32 -07:00
2008-04-30 08:29:54 -07:00
2008-04-27 18:21:46 +03:00
2008-04-27 12:00:27 +03:00
2008-04-27 12:01:15 +03:00
2008-04-27 18:21:37 +03:00
2008-04-24 23:49:30 +01:00
2008-05-19 17:51:48 -04:00
2008-05-23 20:31:27 +02:00
2008-04-30 08:29:54 -07:00
2008-04-29 15:57:53 +10:00
2008-05-01 08:03:58 -07:00
2008-04-29 08:06:01 -07:00
2008-04-29 08:06:10 -07:00
2008-04-28 08:58:25 -07:00
2008-04-29 08:06:12 -07:00
2008-04-28 08:58:25 -07:00
2008-05-13 08:02:25 -07:00
2008-04-29 08:06:17 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 23:11:39 +02:00
2008-05-01 21:14:59 +10:00
2008-04-30 08:29:54 -07:00
2008-04-28 08:58:47 -07:00
2008-04-29 08:06:12 -07:00
2008-04-29 09:11:12 -07:00
2008-04-28 21:17:07 -07:00
2008-04-29 08:06:24 -07:00
2008-04-30 08:29:54 -07:00
2008-04-28 08:58:29 -07:00
2008-05-20 14:54:50 -07:00
2008-05-21 14:08:38 -07:00
2008-04-28 06:18:03 -04:00
2008-04-28 08:58:19 -07:00
2008-04-29 08:06:13 -07:00
2008-04-30 08:29:54 -07:00
2008-05-09 20:22:58 +10:00
2008-04-28 08:58:18 -07:00
2008-04-28 08:58:22 -07:00
2008-05-14 19:23:25 -05:00
2008-05-01 08:04:01 -07:00
2008-04-29 15:34:05 -07:00
2008-05-03 03:39:55 +04:00
2008-05-14 19:11:14 -07:00
2008-04-29 08:06:02 -07:00
2008-04-29 08:06:02 -07:00
2008-05-06 12:01:41 -04:00
2008-04-30 08:29:49 -07:00
2008-04-30 08:29:49 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 11:52:52 -07:00
2008-04-30 08:29:53 -07:00
2008-05-01 13:07:28 -04:00
2008-04-28 08:58:26 -07:00
2008-05-23 20:31:15 +02:00
2008-04-29 08:06:20 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:50 -07:00
2008-04-30 08:29:38 -07:00
2008-05-01 08:04:01 -07:00
2008-04-28 08:58:33 -07:00
2008-04-30 08:29:54 -07:00
2008-05-10 19:51:16 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:51 -07:00
2008-04-28 08:58:46 -07:00
2008-04-29 08:06:10 -07:00
2008-04-29 08:05:59 -07:00
2008-04-30 08:29:54 -07:00
2008-05-03 10:01:33 -07:00
2008-04-30 08:29:54 -07:00
2008-05-23 20:31:05 +02:00
2008-04-28 08:58:26 -07:00
2008-04-29 08:06:16 -07:00
2008-04-30 08:29:54 -07:00
2008-04-25 00:25:08 +02:00
2008-04-28 08:58:32 -07:00
2008-04-30 08:29:30 -07:00
2008-04-28 08:58:25 -07:00
2008-04-30 08:29:34 -07:00
2008-04-30 08:29:54 -07:00
2008-04-27 18:28:18 +03:00
2008-04-30 08:29:54 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 08:06:05 -07:00
2008-05-01 08:03:59 -07:00
2008-04-28 08:58:36 -07:00
2008-04-30 08:29:54 -07:00
2008-04-28 08:58:20 -07:00
2008-04-28 08:58:29 -07:00
2008-04-29 08:06:06 -07:00
2008-04-29 08:06:23 -07:00
2008-05-04 17:07:03 -07:00
2008-04-29 08:06:27 -07:00
2008-05-21 17:40:05 -07:00
2008-04-30 08:29:54 -07:00
2008-04-29 02:48:01 -04:00
2008-04-30 08:29:37 -07:00
2008-04-30 08:29:53 -07:00
2008-05-01 08:03:59 -07:00
2008-04-30 08:29:47 -07:00
2008-04-30 08:29:47 -07:00
2008-04-24 21:16:42 -07:00
2008-04-24 21:16:57 -07:00
2008-04-24 21:16:54 -07:00
2008-05-09 07:45:18 -07:00
2008-05-02 21:50:51 +10:00
2008-05-02 21:50:50 +10:00
2008-05-02 21:50:47 +10:00
2008-05-02 21:50:50 +10:00
2008-04-28 08:58:21 -07:00
2008-04-28 08:58:23 -07:00
2008-05-01 17:38:35 -04:00
2008-04-30 08:29:49 -07:00
2008-04-29 08:06:06 -07:00
2008-04-25 00:29:34 -07:00